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)); }
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); } }