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}");
        }
    }