littleshop/LittleShop/Services/ICustomerService.cs
2025-08-27 18:02:39 +01:00

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);
}