public async Task <RedeemVoucherErrorCodes> RedeemVoucherAsync([FromBody][Required] VoucherRedemptionRequest request)
        {
            var requestModel = _mapper.Map <VoucherRedeptionModel>(request);
            var result       = await _smartVouchersClient.VouchersApi.RedeemVoucherAsync(requestModel);

            return(_mapper.Map <RedeemVoucherErrorCodes>(result));
        }
Esempio n. 2
0
        public async Task RedeemVoucherAsync([FromBody] VoucherRedemptionRequest request)
        {
            var requestModel = _mapper.Map <VoucherRedeptionModel>(request);

            requestModel.SellerCustomerId = Guid.Parse(_requestContext.UserId);
            var error = await _smartVouchersClient.VouchersApi.RedeemVoucherAsync(requestModel);

            switch (error)
            {
            case RedeemVoucherErrorCodes.None:
                return;

            case RedeemVoucherErrorCodes.VoucherNotFound:
                throw LykkeApiErrorException.NotFound(ApiErrorCodes.Service.SmartVoucherNotFound);

            case RedeemVoucherErrorCodes.WrongValidationCode:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.WrongSmartVoucherValidationCode);

            case RedeemVoucherErrorCodes.VoucherCampaignNotFound:
                throw LykkeApiErrorException.NotFound(ApiErrorCodes.Service.SmartVoucherCampaignNotFound);

            case RedeemVoucherErrorCodes.VoucherCampaignNotActive:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.SmartVoucherCampaignNotActive);

            case RedeemVoucherErrorCodes.SellerCustomerIsNotALinkedPartner:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.SellerCustomerIsNotALinkedPartner);

            case RedeemVoucherErrorCodes.SellerCustomerIsNotTheVoucherIssuer:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.SellerCustomerIsNotTheVoucherIssuer);

            case RedeemVoucherErrorCodes.VoucherIsNotInCorrectStatusToBeRedeemed:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.VoucherIsNotInCorrectStatusToBeRedeemed);
            }
        }