using CMSMicroservice.Protobuf.Protos.Configuration; namespace FrontOffice.BFF.Application.ConfigurationCQ.Queries.GetClubConfiguration; /// /// هندلر دریافت تنظیمات باشگاه مشتریان از CMS /// public class GetClubConfigurationQueryHandler : IRequestHandler { private readonly IApplicationContractContext _context; public GetClubConfigurationQueryHandler(IApplicationContractContext context) { _context = context; } public async Task Handle(GetClubConfigurationQuery request, CancellationToken cancellationToken) { // دریافت مبلغ فعال‌سازی از CMS var activationFeeRequest = new GetConfigurationByKeyRequest { Scope = 2, // ConfigurationScope.Club Key = "Club.ActivationFee" }; var giftValueRequest = new GetConfigurationByKeyRequest { Scope = 2, // ConfigurationScope.Club Key = "Club.MembershipGiftValue" }; var activationFeeResponse = await _context.Configuration.GetConfigurationByKeyAsync(activationFeeRequest, cancellationToken: cancellationToken); var giftValueResponse = await _context.Configuration.GetConfigurationByKeyAsync(giftValueRequest, cancellationToken: cancellationToken); var response = new GetClubConfigurationResponseDto { ActivationFee = long.TryParse(activationFeeResponse?.Value, out var fee) ? fee : 25000000, MembershipGiftValue = long.TryParse(giftValueResponse?.Value, out var gift) ? gift : 25200000 }; return response; } }