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.
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter;
|
|
|
|
namespace CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetUserPackagePurchaseSummary;
|
|
|
|
public class GetUserPackagePurchaseSummaryQueryHandler
|
|
: IRequestHandler<GetUserPackagePurchaseSummaryQuery, GetUserPackagePurchaseSummaryResponseDto>
|
|
{
|
|
private readonly IApplicationDbContext _context;
|
|
|
|
public GetUserPackagePurchaseSummaryQueryHandler(IApplicationDbContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public async Task<GetUserPackagePurchaseSummaryResponseDto> Handle(
|
|
GetUserPackagePurchaseSummaryQuery request,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
var query = _context.UserPackagePurchases
|
|
.AsNoTracking()
|
|
.ApplyUserPackagePurchaseFilter(request.Filter);
|
|
|
|
var totalCount = await query.LongCountAsync(cancellationToken);
|
|
var totalAmount = totalCount > 0 ? await query.SumAsync(x => x.Amount, cancellationToken) : 0;
|
|
|
|
return new GetUserPackagePurchaseSummaryResponseDto
|
|
{
|
|
TotalCount = totalCount,
|
|
TotalAmount = totalAmount
|
|
};
|
|
}
|
|
}
|