public async Task <IActionResult> Predict(DiabetesViewModel model) { var lowRisk = await _predictionAPI.GetPrediction(model); TempData["_statusMessage"] = new StatusMessageViewModel() { Message = $"This patient has a {(lowRisk ? "low" : "high")} chance of developing diabetes.", Type = lowRisk ? StatusType.success : StatusType.danger, Title = "Result" }; return(View("Index", model)); }
public IActionResult Index() { // create a viewmodel with default values var model = new DiabetesViewModel() { NumPregnancies = 0, Glucose = 137, Diastolic = 40, Thickness = 35, Insulin = 168, BMI = 43.1, Pedigree = 2.288, Age = 33 }; TempData["_statusMessage"] = null; return(View(model)); }
public async Task <bool> GetPrediction(DiabetesViewModel model) { var json = new { data = new[] { model } }; var result = await Client.PostAsync("", new StringContent(JsonSerializer.Serialize(json), Encoding.UTF8, "application/json")); if (result.IsSuccessStatusCode) { var jsonData = await result.Content.ReadAsStringAsync(); jsonData = jsonData.Substring(1, jsonData.Length - 2).Replace("\\", ""); var resultData = JsonSerializer.Deserialize <PredictionResult>(jsonData); return(resultData.result[0] == 0); } else { string content = await result.Content.ReadAsStringAsync(); throw new ApplicationException($"Error calling prediction API: {content}"); } }