19 lines
932 B
C#
19 lines
932 B
C#
using LittleShop.DTOs;
|
|
using LittleShop.Models;
|
|
|
|
namespace LittleShop.Services;
|
|
|
|
public interface ICustomerService
|
|
{
|
|
Task<CustomerDto?> GetCustomerByIdAsync(Guid id);
|
|
Task<CustomerDto?> GetCustomerByTelegramUserIdAsync(long telegramUserId);
|
|
Task<CustomerDto> CreateCustomerAsync(CreateCustomerDto createCustomerDto);
|
|
Task<CustomerDto?> UpdateCustomerAsync(Guid id, UpdateCustomerDto updateCustomerDto);
|
|
Task<bool> DeleteCustomerAsync(Guid id);
|
|
Task<IEnumerable<CustomerDto>> GetAllCustomersAsync();
|
|
Task<IEnumerable<CustomerDto>> SearchCustomersAsync(string searchTerm);
|
|
Task<CustomerDto?> GetOrCreateCustomerAsync(long telegramUserId, string displayName, string username = "", string firstName = "", string lastName = "");
|
|
Task UpdateCustomerMetricsAsync(Guid customerId);
|
|
Task<bool> BlockCustomerAsync(Guid customerId, string reason);
|
|
Task<bool> UnblockCustomerAsync(Guid customerId);
|
|
} |