private async Task <string> CalculateAsync(Models.StockDetailsModel stockDetails) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:50798"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); var response = await client.PostAsJsonAsync("api/StockDetails", stockDetails).ConfigureAwait(false); response.EnsureSuccessStatusCode(); var responseJson = await response.Content.ReadAsStringAsync(); return(responseJson); } }
protected void btnCalculate_Click(object sender, EventArgs e) { var stockDetails = new Models.StockDetailsModel { StockName = txtStockName.Text, Percentage = Convert.ToDecimal(txtPercentage.Text), Price = Convert.ToDecimal(txtPrice.Text), Quantity = Convert.ToInt32(txtQuantity.Text), Years = Convert.ToInt32(txtYears.Text) }; var responseJson = CalculateAsync(stockDetails).GetAwaiter().GetResult(); var returnStockDetails = JsonConvert.DeserializeObject <Models.StockDetails>(responseJson); Session["StockDetails"] = returnStockDetails; Response.Redirect(@"/StockDetails/CalculationResult.aspx"); }
// POST api/<controller> public Models.StockDetails Post([FromBody] Models.StockDetailsModel inputStockDetails) { var storedStockDetailsList = ReadStockDetailsJson(); var stockDetails = new Models.StockDetails { Id = storedStockDetailsList.StockDetails.Count + 1, StockName = inputStockDetails.StockName, Price = inputStockDetails.Price, Quantity = inputStockDetails.Quantity, Percentage = inputStockDetails.Percentage, Years = inputStockDetails.Years }; CalculateResults(stockDetails); storedStockDetailsList.StockDetails.Add(stockDetails); var json = JsonConvert.SerializeObject(storedStockDetailsList); fileSystem.File.WriteAllText(pathProvider.MapPath(jsonPath), json); return(stockDetails); }