f8794bbb63
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 17m54s
- Added filtering capabilities to GetClubMembershipHistoryQuery, allowing optional filters for UserId, ClubMembershipId, Action, and date range. - Updated GetClubMembershipHistoryQueryHandler to utilize the new filter structure. - Enhanced GetAllClubMembershipsQueryHandler to include LastPackage details in the response. - Introduced new properties in GetAllClubMembershipsResponseModel for PackageId and PackageName. - Updated Protobuf definitions to reflect changes in club membership history queries and responses. - Refactored mapping configurations to accommodate new DTOs and filters.
37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetAllClubMembershipCycleByFilter;
|
|
|
|
namespace CMSMicroservice.Application.ClubMembershipCycleCQ.Queries.GetClubMembershipCycleSummary;
|
|
|
|
public class GetClubMembershipCycleSummaryQueryHandler
|
|
: IRequestHandler<GetClubMembershipCycleSummaryQuery, GetClubMembershipCycleSummaryResponseDto>
|
|
{
|
|
private readonly IApplicationDbContext _context;
|
|
|
|
public GetClubMembershipCycleSummaryQueryHandler(IApplicationDbContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public async Task<GetClubMembershipCycleSummaryResponseDto> Handle(
|
|
GetClubMembershipCycleSummaryQuery request,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
var query = _context.ClubMembershipCycles
|
|
.AsNoTracking()
|
|
.ApplyClubMembershipCycleFilter(request.Filter);
|
|
|
|
var totalCount = await query.LongCountAsync(cancellationToken);
|
|
var currentCycleCount = await query.LongCountAsync(x => x.IsCurrentCycle, cancellationToken);
|
|
var magicActiveCount = await query.LongCountAsync(
|
|
x => x.MagicStartedAt != null && x.MagicCompletedAt == null,
|
|
cancellationToken);
|
|
|
|
return new GetClubMembershipCycleSummaryResponseDto
|
|
{
|
|
TotalCount = totalCount,
|
|
CurrentCycleCount = currentCycleCount,
|
|
MagicActiveCount = magicActiveCount
|
|
};
|
|
}
|
|
}
|