public async Task <IActionResult> CalculateNpv([FromBody] NpvModel model) { var npvResults = await _httpService.GetAsJson(_npvApiUrl, model); var cashFlows = model.CashFlows.Split(',').Select(double.Parse).ToList <double>(); var requestModel = new NPVRequestModel { CashFlow = cashFlows , Increment = model.Increment , InitialCost = model.InitialCost , LowerBoundDiscountRate = model.LowerBound , UpperBoundDiscountRate = model.UpperBound }; if (string.IsNullOrEmpty(npvResults)) { npvResults = await _httpService.PostAsyncReturnAsJson(_npvApiUrl, requestModel); } var npvs = JsonConvert.DeserializeObject <IList <NPVDetailModel> >(npvResults); return(Ok(npvs)); }
public async Task <IActionResult> Compute([Bind("CashFlowsDescription,Increment,UpperBoundDiscountRate,LowerBoundDiscountRate,InitialCost")] NPVModel nPVModel) { var cashFlows = nPVModel.CashFlowsDescription.Split(',').Select(double.Parse).ToList <double>(); var requestModel = new NPVRequestModel { CashFlow = cashFlows , Increment = nPVModel.Increment , InitialCost = nPVModel.InitialCost , LowerBoundDiscountRate = nPVModel.LowerBoundDiscountRate , UpperBoundDiscountRate = nPVModel.UpperBoundDiscountRate }; var npvResults = await _httpService.GetAsJson(_npvApiUrl, requestModel); if (string.IsNullOrEmpty(npvResults)) { npvResults = await _httpService.PostAsyncReturnAsJson(_npvApiUrl, requestModel); } TempData["npvResults"] = npvResults; return(RedirectToAction("Index")); }