public ActionResult Details(int id, int part) { var overviewmodel = RenderDay.GetOverview(); var AoCDay = overviewmodel.Where(c => c.ID == id).FirstOrDefault(); if (AoCDay != null) { var puzzleString = string.Empty; var sw = new Stopwatch(); sw.Start(); switch (part) { case 0: puzzleString = AoCDay.Part1(); break; case 1: puzzleString = AoCDay.Part2(); break; default: break; } ViewBag.puzzleString = string.Format("Answer = {0} ({1} ms)", puzzleString, sw.ElapsedMilliseconds); sw.Stop(); } return(View("Index", overviewmodel)); }
public ActionResult AllDetails() { var puzzleString = string.Empty; var sw = new Stopwatch(); var overviewmodel = RenderDay.GetOverview(); var sb = new StringBuilder(); sw.Start(); var startTime = sw.ElapsedMilliseconds; foreach (var day in overviewmodel) { var day1 = day.Part1(); var day1Time = sw.ElapsedMilliseconds - startTime; var day2 = day.Part2(); var day2Time = sw.ElapsedMilliseconds - startTime - day1Time; sb.AppendLine($"{day.Name} part1 answer: {day1} ({day1Time} ms), part2 answer: {day2} ({day2Time} ms))"); startTime = sw.ElapsedMilliseconds; } sw.Stop(); sb.AppendLine($"Total executionTime {sw.ElapsedMilliseconds} ms"); ViewBag.puzzleString = sb.ToString(); return(View("Index", overviewmodel)); }
//TODO make private leaderboard JSON with cookie WORK :) public async Task <ActionResult> GetLeaderBoard() { var overviewmodel = RenderDay.GetOverview(); var leaderboard = await GetJSON(); ViewBag.leaderboard = leaderboard; return(View("Index", overviewmodel)); }
public ActionResult Index() { var overviewmodel = RenderDay.GetOverview(); return(View("Index", overviewmodel)); }