Files
TakeoutSaaS.AdminApi/src/Domain/TakeoutSaaS.Domain/Tenants/Repositories/ITenantBillingRepository.cs

31 lines
1.1 KiB
C#

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using TakeoutSaaS.Domain.Tenants.Entities;
using TakeoutSaaS.Domain.Tenants.Enums;
namespace TakeoutSaaS.Domain.Tenants.Repositories;
/// <summary>
/// 租户账单仓储。
/// </summary>
public interface ITenantBillingRepository
{
Task<IReadOnlyList<TenantBillingStatement>> SearchAsync(
long tenantId,
TenantBillingStatus? status,
DateTime? from,
DateTime? to,
CancellationToken cancellationToken = default);
Task<TenantBillingStatement?> FindByIdAsync(long tenantId, long billingId, CancellationToken cancellationToken = default);
Task<TenantBillingStatement?> FindByStatementNoAsync(long tenantId, string statementNo, CancellationToken cancellationToken = default);
Task AddAsync(TenantBillingStatement bill, CancellationToken cancellationToken = default);
Task UpdateAsync(TenantBillingStatement bill, CancellationToken cancellationToken = default);
Task SaveChangesAsync(CancellationToken cancellationToken = default);
}