private void PartitionAthletes(CompareBikeRunViewModel viewModel) { foreach (var athlete in viewModel.Triathletes) { if (athlete.Bike <= viewModel.BikeMedian) { if (athlete.Run <= viewModel.RunMedian) { viewModel.FastBikeFastRun.Add(athlete); } else { viewModel.FastBikeSlowRun.Add(athlete); } } else { if (athlete.Run <= viewModel.RunMedian) { viewModel.SlowBikeFastRun.Add(athlete); } else { viewModel.SlowBikeSlowRun.Add(athlete); } } } }
private ActionResult DisplayResultsView(RaceFilterViewModel filter, string viewName) { var viewModel = new CompareBikeRunViewModel(); viewModel.Filter = filter; var athletes = GetFilteredAthletes(GetAllAthletesForRaces(filter), filter); var calc = new TriStatsCalculator(athletes); viewModel.BikeMedian = calc.TimeSpanMedian("Bike"); viewModel.RunMedian = calc.TimeSpanMedian("Run"); viewModel.Triathletes = athletes; PartitionAthletes(viewModel); viewModel.Stats.Add(GetStats(athletes)); return(View(viewName, viewModel)); }