public async Task <ActionResult> CalculateRouteAsync(AlgorithmStarterVM asvm) { asvm.DaysPeriod = asvm.DaysPeriod.Where(d => d.Start.HasValue).ToList(); // Write back to settings if (System.IO.File.Exists(ConfigPath)) { System.IO.File.Delete(ConfigPath); } System.IO.File.WriteAllText(ConfigPath, JsonConvert.SerializeObject(asvm)); asvm.Days = asvm.DaysPeriod.Select(p => (p.Start.Value, p.End.Value)).ToList(); asvm.Beta0 -= asvm.TimePerChild; var result = await Client.PostAsJsonAsync("api/algorithm/StartRouteCalculation", asvm); return(RedirectToAction("Results")); }
public ActionResult Index() { var model = new AlgorithmStarterVM(); var visitResponse = Client.GetAsync("api/visit").Result; var visits = JArray.Parse(visitResponse.Content.ReadAsStringAsync().Result).ToObject <VisitVM[]>(); var santaResponse = Client.GetAsync("api/santa").Result; var santas = JArray.Parse(santaResponse.Content.ReadAsStringAsync().Result).ToObject <SantaVM[]>(); if (System.IO.File.Exists(ConfigPath)) { model = JsonConvert.DeserializeObject <AlgorithmStarterVM>(System.IO.File.ReadAllText(ConfigPath)); } model.StarterIds = visits.Select(v => new SelectListItem { Value = v.Id.ToString(), Text = v.ToString() }); model.AlgorithmTypes = new[] { AlgorithmType.Hybrid, AlgorithmType.LocalSolver, AlgorithmType.GeneticAlgorithm, AlgorithmType.GoogleRouting, AlgorithmType.ILP, }.Select(t => new SelectListItem { Value = t.ToString(), Text = t.ToString() }); var possibleYears = visits.Select(v => v.Year).Distinct(); model.PossibleYears = possibleYears; return(View(model)); }