16 lines
914 B
C#
16 lines
914 B
C#
namespace TaxBaik.Domain.Interfaces;
|
|
|
|
using TaxBaik.Domain.Entities;
|
|
|
|
public interface IContractRepository
|
|
{
|
|
Task<int> CreateAsync(Contract contract, CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<Contract>> GetAllAsync(CancellationToken cancellationToken = default);
|
|
Task<Contract?> GetByIdAsync(int id, CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<Contract>> GetByClientIdAsync(int clientId, CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<Contract>> GetActiveContractsAsync(CancellationToken cancellationToken = default);
|
|
Task<IEnumerable<Contract>> GetExpiringContractsAsync(int daysAhead = 30, CancellationToken cancellationToken = default);
|
|
Task UpdateAsync(Contract contract, CancellationToken cancellationToken = default);
|
|
Task<decimal> GetMonthlyRecurringRevenueAsync(CancellationToken cancellationToken = default);
|
|
}
|