public FilterSessionsPage() { InitializeComponent(); if (Device.RuntimePlatform != Device.iOS) { ToolbarDone.Icon = "toolbar_close.png"; } ToolbarDone.Command = new Command(async() => { Settings.Current.FavoritesOnly = showFavorites.IsFiltered; Settings.Current.ShowPastSessions = showPast.IsFiltered; vm.Save(); await Navigation.PopModalAsync(); if (Device.RuntimePlatform == Device.Android) { MessagingService.Current.SendMessage("filter_changed"); } }); BindingContext = vm = new FilterSessionsViewModel(Navigation); LoadCategories(); }
public ViewResult FilterUpcomingSessions() { var upcomingSessions = new List <Session>(); if (User.IsInRole("Admin")) { upcomingSessions = _sessionManager.GetAllSessionsWithIncludes() .Where(n => n.StartDate > DateTime.Now) .ToList(); } else { upcomingSessions = _sessionManager.GetAllSessionsWithIncludes() .Where(n => n.StartDate > DateTime.Now && n.IsOpenForExpressionOfInterest) .ToList(); } var result = new FilterSessionsViewModel { Sessions = upcomingSessions }; return(View(result)); }
public FilterSessionsPage() { this.InitializeComponent(); if (Device.RuntimePlatform != Device.iOS) { this.ToolbarDone.Icon = "toolbar_close.png"; } this.ToolbarDone.Command = new Command( async() => { this.filterSessionsViewModel.Save(); await this.Navigation.PopModalAsync(); if (Device.RuntimePlatform == Device.Android) { MessagingService.Current.SendMessage("filter_changed"); } }); this.BindingContext = this.filterSessionsViewModel = new FilterSessionsViewModel(this.Navigation); this.LoadCategories(); }
public ViewResult FilterSessions(string searchString, string yearSlider, string hrPerson, string nameOfLocation) { IQueryable <Session> allSessions; if (string.IsNullOrEmpty(searchString)) { allSessions = _sessionManager.GetAllSessionsWithIncludes(); } else { allSessions = _sessionManager.GetAllSessionsWithIncludes() .Where(n => n.Name.Contains(searchString) || n.Activity.Name.Contains(searchString)); } // TODO: Take 10? // If yearSlider is min & max, then dont sort by startdate! var yearStart = 0; var yearEnd = 10000; if (!string.IsNullOrEmpty(yearSlider)) { var years = yearSlider.Split(','); yearStart = int.Parse(years[0]); yearEnd = int.Parse(years[1]); if ((yearStart != MinYear) || (yearEnd != DateTime.Now.AddYears(1).Year)) { allSessions = allSessions.Where( n => (n.StartDate.Value.Year >= yearStart) && (n.StartDate.Value.Year <= yearEnd)); } } if (!string.IsNullOrEmpty(hrPerson)) { var hrPersonAsInt = int.Parse(hrPerson); allSessions = allSessions.Where(n => n.HrPersonId == hrPersonAsInt); //TODO error handling } if (!string.IsNullOrEmpty(nameOfLocation)) { allSessions = allSessions.Where(n => n.Location.Name == nameOfLocation); } var allHrPersons = _personManager.GetAllHrPersons().OrderBy(n => n.FirstName).ToList(); var result = new FilterSessionsViewModel { Sessions = allSessions.ToList(), HrPersons = new SelectList(allHrPersons, "Id", "FullName"), NameOfLocation = nameOfLocation, YearStart = yearStart, YearEnd = yearEnd, MinYear = MinYear, MaxYear = DateTime.Now.AddYears(1).Year // Maximum year set to this year + 1 }; return(View(result)); }