public static MvcHtmlString DriverGreeting(this HtmlHelper helper, DisplayClubViewModel model) { //RouteData route = helper.ViewContext.RequestContext.RouteData; //string controller = route.GetRequiredString("controller"); //string action = route.GetRequiredString("action"); string greeting = "\n\n<h3>"; //foreach (MenuTab menuTab in tabs) //{ // if (controller == menuTab.Controller && action == menuTab.Action) // { // greeting += "\n\t<li class='selected'>" + helper.ActionLink(menuTab.Text, menuTab.Action, menuTab.Controller, new { area = menuTab.Area }, null) + "</li>"; // } // else // { // greeting += "\n\t<li>" + helper.ActionLink(menuTab.Text, menuTab.Action, menuTab.Controller, new { area = menuTab.Area }, null) + "</li>"; // } //} if(model.Club == null) { greeting += string.Format("No Affiliated Club, {0}", model.LoggedInDriver.FullName); } else if (model.LoggedInDriver.HomeClubId != model.Club.ClubId) { greeting += string.Format("Viewing as Guest of {0} ({1}), {2}", model.Club.FullName, model.Club.Acronym, model.LoggedInDriver.FullName); } else { greeting += string.Format("{0} ({1}), {2}", model.Club.FullName, model.Club.Acronym, model.LoggedInDriver.FullName); } greeting += "\n</h3>\n\n"; return MvcHtmlString.Create(greeting); }
//public ClubViewModel GetClubViewModel(int clubId) //{ // var clubViewModel = new ClubViewModel(); // clubViewModel.Club = GetClubById(clubId); // clubViewModel.Countries = GetCountrySelectList(); // clubViewModel.Regions = GetRegionSelectList(); // clubViewModel.States = GetStateSelectList(); // clubViewModel.Admins = _driverRepository.GetClubAdmins(clubId); // return clubViewModel; //} public DisplayClubViewModel GetClubDisplayViewModel(int clubId, IIdentity identity, int? selectedSeriesId, int? selectedEventId) { var model = new DisplayClubViewModel(); model.Driver = _driverRepository.GetDriverByEmailAddress(identity.Name); model.Club = GetClubById(clubId); model.AvailableSeries = _seriesRepository.GetAllAvailableSeries(clubId).OrderBy(s => s.BeginDate).ToList(); if(model.AvailableSeries != null && model.AvailableSeries.Count > 0) { if(selectedSeriesId.HasValue) { model.CurrentSeries = model.AvailableSeries.Where(s => s.SeriesId == selectedSeriesId.Value).FirstOrDefault(); } else { if (model.AvailableSeries.Where(s => s.BeginDate <= DateTime.Now).Count() > 0) { var maxBeginDate = model.AvailableSeries.Where(s => s.BeginDate <= DateTime.Now).Max(d => d.BeginDate); model.CurrentSeries = model.AvailableSeries.Where(s => s.BeginDate == maxBeginDate).FirstOrDefault(); } else { var seriesDate = model.AvailableSeries.Max(s => s.BeginDate); model.CurrentSeries = model.AvailableSeries.Where(s => s.BeginDate == seriesDate).FirstOrDefault(); } } } if (model.CurrentSeries != null) { model.CurrentSeriesStandings = _seriesService.GetStandingsForSeries(model.CurrentSeries); } if (model.CurrentSeries != null && model.CurrentSeries.Events != null && model.CurrentSeries.Events.Count > 0) { if(selectedEventId.HasValue) { model.SelectedEvent = model.CurrentSeries.Events.Where(e => e.EventId == selectedEventId).Single(); } else { if (model.CurrentSeries.Events.Count > 0 && model.CurrentSeries.Events.Where(e => e.Results.Count > 0).Count() > 0) { var nextDate = model.CurrentSeries.Events.Where(e => e.Results.Count > 0).Max(e => e.Date); if(nextDate > DateTime.Today) { nextDate = model.CurrentSeries.Events.Where(e => e.Results.Count == 0).Min(e => e.Date); } model.SelectedEvent = model.CurrentSeries.Events.Where(e => e.Date == nextDate).FirstOrDefault(); } else { model.SelectedEvent = model.CurrentSeries.Events.First(); } } } else { model.SelectedEvent = new Event(); } if (model.SelectedEvent.EventId > 0) { model.SelectedEventResults = _resultService.GetResultsDisplayByEventId(model.SelectedEvent.EventId); } model.ClubsApplied = _clubRepository.GetAppliedClubs(); model.ActiveClubs = _clubRepository.GetActiveClubs(); model.ApprovedDrivers = _driverRepository.GetApprovedDrivers(clubId).OrderBy(d => d.FirstName).ToList(); //model.DriversApplied = _driverRepository.GetAppliedDrivers(clubId); model.AvailableClubs = GetClubSelectList(false); return model; }