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