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
            });
        }
Пример #2
0
        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();
            }
        }