public async Task <IActionResult> CreateContractProductTransactionFee(CreateContractProductTransactionFeeViewModel viewModel, CancellationToken cancellationToken) { // Validate the model if (this.ValidateModel(viewModel)) { try { String accessToken = await this.HttpContext.GetTokenAsync("access_token"); AddTransactionFeeToContractProductModel addTransactionFeeToContractProductModel = this.ViewModelFactory.ConvertFrom(viewModel); // All good with model, call the client AddTransactionFeeToContractProductResponseModel addTransactionFeeToContractProductResponse = await this.ApiClient.AddTransactionFeeToContractProduct(accessToken, this.User.Identity as ClaimsIdentity, viewModel.ContractId, viewModel.ContractProductId, addTransactionFeeToContractProductModel, cancellationToken); // Transaction Fee Created, redirect to the Transaction Fee List screen return(this.RedirectToAction("GetContractProductTransactionFeesList", "Contract", new { contractId = addTransactionFeeToContractProductResponse.ContractId, contractProductId = addTransactionFeeToContractProductResponse.ProductId }).WithSuccess("Transaction Fee Created Successful", $"Transaction Fee {viewModel.FeeDescription} successfully created")); } catch (Exception ex) { // Something went wrong creating the Product return(this.View("CreateContractProductTransactionFee").WithWarning("New Contract Product Transaction Fee", Helpers .BuildUserErrorMessage("Error creating the contract product transaction fee"))); } } // If we got this far, something failed, redisplay form return(this.View("CreateContractProductTransactionFee", viewModel)); }
/// <summary> /// Converts from. /// </summary> /// <param name="createContractProductTransactionFeeViewModel">The create contract product transaction fee view model.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">createContractProductTransactionFeeViewModel</exception> public AddTransactionFeeToContractProductModel ConvertFrom(CreateContractProductTransactionFeeViewModel createContractProductTransactionFeeViewModel) { if (createContractProductTransactionFeeViewModel == null) { throw new ArgumentNullException(nameof(createContractProductTransactionFeeViewModel)); } AddTransactionFeeToContractProductModel addTransactionFeeToContractProductModel = new AddTransactionFeeToContractProductModel(); addTransactionFeeToContractProductModel.Value = createContractProductTransactionFeeViewModel.Value; Int32 calculationType = createContractProductTransactionFeeViewModel.CalculationType - 1; addTransactionFeeToContractProductModel.CalculationType = (CalculationType)calculationType; addTransactionFeeToContractProductModel.Description = createContractProductTransactionFeeViewModel.FeeDescription; Int32 feeType = createContractProductTransactionFeeViewModel.FeeType - 1; addTransactionFeeToContractProductModel.FeeType = (FeeType)feeType; return(addTransactionFeeToContractProductModel); }