Files
Core_Be/Interfaces/IClientStatRepository.cs
T
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

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);
}
}