public async Task<ApiResponse<PCalcResultInfo>> Calculate(CalculateRequest calculateRequest) { RestRequest request = GetNewRequest(); request.Resource = "Calculate"; request.Method = Method.POST; request.AddBody(calculateRequest); return await Execute<PCalcResultInfo>(request, m_Api, string.Empty); }
private async Task<ActionResult> HandleCalculation(ActionResultInfo actionResult, EnvironmentInfo environment) { PCalcResultInfo lastResult = GetLastPcalcResult(); if (null == lastResult) { return HandleGeneralError("Index", ProductCalculationViewModel.Create(EQueryType.None), "Unable to retrieve last product"); } if (null == environment) { return HandleGeneralError("Index", ProductCalculationViewModel.Create(EQueryType.None), "Unable to retrieve environment information"); } CalculateRequest calc = new CalculateRequest(); calc.Environment = environment; calc.ProductDescription = lastResult.ProductDescription; calc.ActionResult = actionResult; ApiResponse<PCalcResultInfo> response = await m_Repository.Calculate(calc); if (IsApiError(response) || PcalcResultIsValid(response.ApiResult) == false) { return HandleGeneralPcalcError("Index", ProductCalculationViewModel.Create(EQueryType.None), response.ApiResult); } AddOrUpdateTempData(response.ApiResult, calc.Environment); AddViewData(response.ApiResult, environment); return View("Index", ProductCalculationViewModel.Create(response.ApiResult.QueryType)); }
public async Task<IHttpActionResult> CalculateProduct(CalculateRequest calculationRequest) { if (!ModelState.IsValid) { return BadRequest(ModelState); } PCalcResultInfo result = await m_Calculator.Calculate(calculationRequest.Environment, calculationRequest.ProductDescription, calculationRequest.ActionResult); return CreateProductCalculationResponse(result); }