public async Task <IActionResult> AllDetails() { var sw = new Stopwatch(); var overviewmodel = RenderDayService.GetOverview(); var sb = new StringBuilder(); sw.Start(); var startTime = sw.ElapsedMilliseconds; foreach (var day in overviewmodel) { await day.Part1(); var day1Time = sw.ElapsedMilliseconds - startTime; await day.Part2(); var day2Time = sw.ElapsedMilliseconds - startTime - day1Time; sb.AppendLine($"{day.Name} part1 answer: {day.ResultPart1} ({day1Time} ms), part2 answer: {day.ResultPart2} ({day2Time} ms))"); startTime = sw.ElapsedMilliseconds; } sw.Stop(); sb.AppendLine($"Total executionTime {sw.ElapsedMilliseconds} ms"); ViewBag.puzzleString = sb.ToString(); return(View("Index", overviewmodel)); }
public async Task AllDayResult() { var day = RenderDayService.GetDay(DAY); await day.RenderParts(); day.PrintResultToDebugWindow(); }
public async Task DayPart2() { var day = RenderDayService.GetDay(DAY, EnumParts.Part2); await day.RenderParts(); day.PrintResultToDebugWindow(); }
//TODO make private leaderboard JSON with cookie WORK :) public async Task <ActionResult> GetLeaderBoard() { var overviewmodel = RenderDayService.GetOverview(); var leaderboard = await GetJSON(); ViewBag.leaderboard = leaderboard; return(View("Index", overviewmodel)); }
public async Task TestDaySolutionPerformance() { var averageRunTime = new HashSet <long>(); bool isValid = true; for (int i = 0; i < PERFORMANCECOUNT; i++) { var day = RenderDayService.GetDay(DAY); await day.RenderParts(); averageRunTime.Add(day.ElapsedTime); if (!day.IsValid) { isValid = false; Debug.WriteLine($"Invalid"); break; } day.PrintResultToDebugWindow(); } Debug.WriteLine($"IsCorrect?={isValid}. Average complete in {averageRunTime.Average()} ms"); }
public async Task <IActionResult> Details(int id, int part) { var overviewmodel = RenderDayService.GetOverview(); var AoCDay = overviewmodel.Where(c => c.ID == id).FirstOrDefault(); if (AoCDay != null) { var partResult = string.Empty; AoCDay.PartsToRender = new List <EnumParts> { (EnumParts)part }; await AoCDay.RenderParts(); partResult = AoCDay.GetResult((EnumParts)part); if (!string.IsNullOrWhiteSpace(partResult)) { ViewBag.puzzleString = $"{partResult}"; } } return(View("Index", overviewmodel)); }
public ActionResult Index() { return(View("Index", RenderDayService.GetOverview())); }