public async Task <UpdateTransactionResponseViewModel> UpdateTransaction([FromBody] DeliveryOptionsFormDataViewModel model) { string _TargetCurrencyCode = _geoCurrency.GetSessionCurrency(HttpContext); if (ModelState.IsValid) { var result = new { Succeeded = true }; try { UpdateTransactionCommandResult updateTransactionCommandResult = await _commandSender.Send <UpdateTransactionCommand, UpdateTransactionCommandResult>(new UpdateTransactionCommand { TransactionId = model.TransactionId, DeliveryDetail = model.DeliveryDetail, TargetCurrencyCode = _TargetCurrencyCode, EventTicketAttributeList = model.EventTicketAttributeList }); UpdateTransactionResponseViewModel _returnvalue = new UpdateTransactionResponseViewModel { Success = true, TransactionId = updateTransactionCommandResult.Id, CurrencyId = updateTransactionCommandResult.CurrencyId, GrossTicketAmount = updateTransactionCommandResult.GrossTicketAmount, DeliveryCharges = updateTransactionCommandResult.DeliveryCharges, ConvenienceCharges = updateTransactionCommandResult.ConvenienceCharges, ServiceCharge = updateTransactionCommandResult.ServiceCharge, DiscountAmount = updateTransactionCommandResult.DiscountAmount, NetTicketAmount = updateTransactionCommandResult.NetTicketAmount, }; //perform check for currency change to geo _geoCurrency.DeliveryOptionsUpdate(_returnvalue, HttpContext); return(_returnvalue); } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); return(new UpdateTransactionResponseViewModel { Success = false }); } } else { return(new UpdateTransactionResponseViewModel { Success = false }); } }
public UpdateTransactionCommandResult UpdateTransactionUpdates(UpdateTransactionCommandResult updateTransactionCommandResult, string TargetCurrencyCode) { if (_IsGeoCurrencySelectionEnabled && updateTransactionCommandResult != null) { int TargetCurrencyID = GetCurrencyID(TargetCurrencyCode).Id; if (updateTransactionCommandResult.GrossTicketAmount.HasValue) { updateTransactionCommandResult.GrossTicketAmount = _currencyConverter.Exchange(updateTransactionCommandResult.GrossTicketAmount.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } if (updateTransactionCommandResult.DeliveryCharges.HasValue) { updateTransactionCommandResult.DeliveryCharges = _currencyConverter.Exchange(updateTransactionCommandResult.DeliveryCharges.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } if (updateTransactionCommandResult.ConvenienceCharges.HasValue) { updateTransactionCommandResult.ConvenienceCharges = _currencyConverter.Exchange(updateTransactionCommandResult.ConvenienceCharges.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } if (updateTransactionCommandResult.ServiceCharge.HasValue) { updateTransactionCommandResult.ServiceCharge = _currencyConverter.Exchange(updateTransactionCommandResult.ServiceCharge.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } if (updateTransactionCommandResult.DiscountAmount.HasValue) { updateTransactionCommandResult.DiscountAmount = _currencyConverter.Exchange(updateTransactionCommandResult.DiscountAmount.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } if (updateTransactionCommandResult.NetTicketAmount.HasValue) { updateTransactionCommandResult.NetTicketAmount = _currencyConverter.Exchange(updateTransactionCommandResult.NetTicketAmount.Value, GetCurrencyCode(updateTransactionCommandResult.CurrencyId).Code, TargetCurrencyCode); } updateTransactionCommandResult.CurrencyId = TargetCurrencyID;; } return(updateTransactionCommandResult); }