/// <summary> /// Converts from. /// </summary> /// <param name="contractModel">The contract model.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">contractModel</exception> public ContractProductListViewModel ConvertFrom(ContractModel contractModel) { if (contractModel == null) { throw new ArgumentNullException(nameof(contractModel)); } ContractProductListViewModel viewModel = new ContractProductListViewModel { Description = contractModel.Description, ContractId = contractModel.ContractId, ContractProducts = new List <ContractProductViewModel>() }; if (contractModel.ContractProducts != null && contractModel.ContractProducts.Any()) { contractModel.ContractProducts.ForEach(c => { viewModel.ContractProducts.Add(new ContractProductViewModel { EstateId = contractModel.EstateId, ContractId = contractModel.ContractId, ContractProductId = c.ContractProductId, DisplayText = c.DisplayText, ProductName = c.ProductName, Value = c.Value.HasValue ? c.Value.Value.ToString() : "Variable", NumberOfTransactionFees = c.ContractProductTransactionFees.Count }); }); } return(viewModel); }
public async Task <IActionResult> GetContractProductsList([FromQuery] Guid contractId, CancellationToken cancellationToken) { try { String accessToken = await this.HttpContext.GetTokenAsync("access_token"); ContractModel contract = await this.ApiClient.GetContract(accessToken, this.User.Identity as ClaimsIdentity, contractId, cancellationToken); ContractProductListViewModel viewModel = this.ViewModelFactory.ConvertFrom(contract); return(this.View("ContractProductsList", viewModel)); } catch (Exception e) { return(this.View("ContractProductsList", new ContractProductListViewModel()) .WithWarning("Contract Products", Helpers.BuildUserErrorMessage("Error getting a list of products for Contract"))); } }
public async Task <IActionResult> GetContractProductsListAsJson([FromQuery] Guid contractId, CancellationToken cancellationToken) { try { // Search Value from (Search box) String searchValue = this.HttpContext.Request.Form["search[value]"].FirstOrDefault(); String accessToken = await this.HttpContext.GetTokenAsync("access_token"); ContractModel contract = await this.ApiClient.GetContract(accessToken, this.User.Identity as ClaimsIdentity, contractId, cancellationToken); ContractProductListViewModel contractProductListViewModel = this.ViewModelFactory.ConvertFrom(contract); Expression <Func <ContractProductViewModel, Boolean> > whereClause = c => c.ProductName.Contains(searchValue, StringComparison.OrdinalIgnoreCase) || c.DisplayText.Contains(searchValue, StringComparison.OrdinalIgnoreCase); return(this.Json(Helpers.GetDataForDataTable(this.Request.Form, contractProductListViewModel.ContractProducts, whereClause))); } catch (Exception e) { return(this.Json(Helpers.GetErrorDataForDataTable <String>(Helpers.BuildUserErrorMessage("Error getting contract product list")))); } }