22 lines
1.4 KiB
C#
22 lines
1.4 KiB
C#
using Fitness_core_BE.DTOs.Stats;
|
|
using Fitness_core_BE.Models;
|
|
|
|
namespace Fitness_core_BE.Interfaces
|
|
{
|
|
public interface IClientStatRepository
|
|
{
|
|
Task<int> GetTotalCustomerCountAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<int> GetMonthlyCustomerCountAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<int> GetTotalWorkoutPlanCountAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<int> GetTotalMealPlanCountAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<int> GetLastMonthCustomerCountAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<Attendance>> GetLastFiveAttendancesAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<PaymentTransaction>> GetLastFivePaymentsAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<decimal> GetLastMonthRevenueAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<List<MonthlyRevenueStat>> GetMonthlyRevenueVariationAsync(Guid clientId, DateTime? from = null, DateTime? to = null, CancellationToken ct = default);
|
|
Task<decimal> GetTotalRevenueAsync(Guid clientId, CancellationToken ct = default);
|
|
Task<ClientStatSummaryDto> GetClientStatSummaryAsync(Guid clientId, DateTime? from = null, DateTime? to = null, CancellationToken ct = default);
|
|
Task<int> GetExpiringSoonCountAsync(Guid clientId, DateTime from, DateTime to, CancellationToken ct = default);
|
|
}
|
|
}
|