public async Task <CheckAbilityResponse> CheckAbilityAsync([FromQuery] CheckAbilityRequest request) { var result = await _partnerAbilityCheckService.CheckPartnerAbility((Domain.Models.Enums.PartnerAbility) request.PartnerAbility.Value, request.PartnerId); return(new CheckAbilityResponse { HasAbility = result == PartnerInabilityErrorCodes.None, ErrorCode = (Client.Enums.PartnerInabilityErrorCodes)result }); }
public async Task <CheckAbilityResponse> CheckAbilityAsync([FromQuery] CheckAbilityRequest request) { switch (request.PartnerAbility.Value) { case PartnerAbility.PublishSmartVoucherCampaign: var result = await _paymentManagementClient.Api.CheckPaymentIntegrationAsync( new PaymentIntegrationCheckRequest { PartnerId = request.PartnerId }); return(new CheckAbilityResponse { HasAbility = result == CheckPaymentIntegrationErrorCode.None, ErrorCode = result != CheckPaymentIntegrationErrorCode.None ? PartnerInabilityErrorCodes.InvalidPaymentIntegrationDetails : PartnerInabilityErrorCodes.None }); default: throw new ArgumentOutOfRangeException(); } }