22 lines
1.4 KiB
C#
22 lines
1.4 KiB
C#
namespace TaxBaik.Domain.Interfaces;
|
|
|
|
using TaxBaik.Domain.Entities;
|
|
|
|
public interface IInquiryRepository
|
|
{
|
|
Task<int> CreateAsync(Inquiry inquiry, CancellationToken cancellationToken = default);
|
|
Task<Inquiry?> GetByIdAsync(int id, CancellationToken cancellationToken = default);
|
|
Task<(IEnumerable<Inquiry> Items, int Total)> GetPagedAsync(
|
|
int page, int pageSize, string? status = null, CancellationToken cancellationToken = default);
|
|
Task<int> CountAsync(CancellationToken cancellationToken = default);
|
|
Task<int> CountThisMonthAsync(CancellationToken cancellationToken = default);
|
|
Task<int> CountByStatusAsync(string status, CancellationToken cancellationToken = default);
|
|
Task<int> CountByDateRangeAsync(DateTime startDate, DateTime endDate, CancellationToken cancellationToken = default);
|
|
Task<int> CountByStatusAndDateAsync(string status, DateTime startDate, DateTime endDate, CancellationToken cancellationToken = default);
|
|
Task UpdateStatusAsync(int id, string status, CancellationToken cancellationToken = default);
|
|
Task UpdateAdminMemoAsync(int id, string? adminMemo, CancellationToken cancellationToken = default);
|
|
Task UpdateAsync(Inquiry inquiry, CancellationToken cancellationToken = default);
|
|
Task LinkClientAsync(int inquiryId, int clientId, CancellationToken cancellationToken = default);
|
|
Task DeleteAsync(int id, CancellationToken cancellationToken = default);
|
|
}
|