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);
        }
Ejemplo n.º 2
0
        //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;
        }