public ActionResult Compare(SimpleFilterViewModel model)
        {
            RaceFilterViewModel filter;

            //the following is a workaround for some flawed javascript that doesn't always pass the params we need
            if (String.IsNullOrEmpty(model.Races))
            {
                var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query);
                if (!String.IsNullOrEmpty(model.selectedAthletes))
                {
                    simple.selectedAthletes = model.selectedAthletes;
                    return(RedirectToAction("Compare", simple));
                }

                //this is to keep from a null exception
                filter = new RaceFilterViewModel(simple);
            }
            else
            {
                filter = new RaceFilterViewModel(model);
            }
            var viewmodel = new TriathletesCompareViewModel();

            viewmodel.Filter = filter;

            //order them from fastest to slowest so the view can know who was first,second, last, etc.
            viewmodel.Triathletes = _DBContext.Triathletes.Include("RequestContext.Race").OrderBy(t => t.Finish)
                                    .Where(t => filter.SelectedAthleteIds.Contains(t.TriathleteId));

            viewmodel.Stats = GetStats(viewmodel.Triathletes.ToList());

            return(View("~/Views/Triathletes/Compare.cshtml", viewmodel));
        }
        //search all athletes we have by name and return details of all their races
        public PartialViewResult AthleteSearchAllByName(string athletes)
        {
            if (athletes == "0")
            {
                var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query);
                return(DisplayPagedAthletes(1, simple));
            }

            return(PartialView("_SearchResults-All", DoSearchAllByName(athletes)));
        }
        //search athletes by id
        public PartialViewResult AthleteSearch(string SelectedAthleteId)
        {
            if (SelectedAthleteId == "0")
            {
                var simple = SimpleFilterViewModel.Create(Request.UrlReferrer.Query);
                return(DisplayPagedAthletes(1, simple));
            }

            return(PartialView("_SearchResults-Race", DoSearchById(SelectedAthleteId)));
        }
Пример #4
0
        public ActionResult GetAthlete(string raceId)
        {
            if (String.IsNullOrEmpty(raceId))
            {
                return(new HttpNotFoundResult());
            }

            var simpleModel = SimpleFilterViewModel.Create();

            simpleModel.Races = raceId;
            return(RedirectToAction("ViewResults", "TriStatsSummary", simpleModel));
        }
Пример #5
0
        public ActionResult DisplayStats(FilterViewModel filterModel)
        {
            if (filterModel.selectedRaceIds == null)
            {
                return(new HttpNotFoundResult());
            }

            var simpleModel = SimpleFilterViewModel.Create(filterModel);

            if (filterModel.selectedRaceIds.Count() > 1)
            {
                return(RedirectToAction("ViewResults", "CompareRaces", simpleModel));
            }
            else
            {
                return(RedirectToAction("ViewResults", "TriStatsSummary", simpleModel));
            }
        }