private IQueryable <Performance> GetPerformancesFilteredByTitleAndDirector(PerformancesFilter filter)
 {
     return(GetPerformances()
            .Where(p => p.Director.FirstName.Contains(filter.Director) ||
                   p.Director.LastName.Contains(filter.Director))
            .Where(p => p.Title.Contains(filter.Title)));
 }
 private IQueryable <Performance> GetPerformancesFilteredByYearAndDirector(PerformancesFilter filter)
 {
     return(GetPerformances()
            .Where(p => p.Director.FirstName.Contains(filter.Director) ||
                   p.Director.LastName.Contains(filter.Director))
            .Where(p => p.PremiereDate.HasValue ? p.PremiereDate.Value.Year == filter.PremiereYear : true));
 }
示例#3
0
        private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            List <Performance> currentPerformance = _performances;

            if (From_DatePicker.SelectedDate != null)
            {
                DateTime currentDate = (DateTime)From_DatePicker.SelectedDate;
                currentPerformance = PerformancesFilter.FilterAfter(currentPerformance, currentDate);
            }

            if (To_DatePicker.SelectedDate != null)
            {
                DateTime currentDate = (DateTime)To_DatePicker.SelectedDate;
                currentPerformance = PerformancesFilter.FilterBefore(currentPerformance, currentDate);
            }

            PerformanceListView.ItemsSource = currentPerformance;
        }
 private IQueryable <Performance> GetPerformancesFilteredByTitleAndYear(PerformancesFilter filter)
 {
     return(GetPerformances()
            .Where(p => p.Title.Contains(filter.Title))
            .Where(p => p.PremiereDate.HasValue ? p.PremiereDate.Value.Year == filter.PremiereYear : true));
 }
 private IQueryable <Performance> GetPerformancesFilteredByTitle(PerformancesFilter filter)
 {
     return(GetPerformances()
            .Where(p => p.Title.Contains(filter.Title)));
 }
 private Dictionary <bool, IQueryable <Performance> > GetPerformancesDictionary(PerformancesFilter filter)
 {
     return(new Dictionary <bool, IQueryable <Performance> >
     {
         [filter.WithTitle()] = GetPerformancesFilteredByTitle(filter),
         [filter.WithTitleAndDirector()] = GetPerformancesFilteredByTitleAndDirector(filter),
         [filter.WithTitleAndYear()] = GetPerformancesFilteredByTitleAndYear(filter),
         [filter.WithTitleDirectorAndYear()] = GetPerformancesFilteredByTitleDirectorAndYear(filter),
         [filter.WithYear()] = GetPerformancesFilteredByYear(filter),
         [filter.WithYearAndDirector()] = GetPerformancesFilteredByYearAndDirector(filter),
         [filter.WithDirector()] = GetPerformancesFilteredByDirector(filter)
     });
 }