17 lines
1.1 KiB
C#
17 lines
1.1 KiB
C#
namespace TaxBaik.Domain.Interfaces;
|
|
|
|
using TaxBaik.Domain.Entities;
|
|
|
|
public interface IRevenueTrackingRepository
|
|
{
|
|
Task<int> CreateAsync(RevenueTracking revenue, CancellationToken cancellationToken = default);
|
|
Task<RevenueTracking?> GetByIdAsync(int id, CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<RevenueTracking>> GetAllAsync(CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<RevenueTracking>> GetByClientIdAsync(int clientId, CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<RevenueTracking>> GetPendingPaymentsAsync(CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<RevenueTracking>> GetByDateRangeAsync(DateTime startDate, DateTime endDate, CancellationToken cancellationToken = default);
|
|
Task UpdateAsync(RevenueTracking revenue, CancellationToken cancellationToken = default);
|
|
Task MarkPaidAsync(int id, DateTime paymentDate, CancellationToken cancellationToken = default);
|
|
Task<decimal> GetTotalRevenueAsync(DateTime startDate, DateTime endDate, CancellationToken cancellationToken = default);
|
|
}
|