public SortingAndFilteringViewModel(IRepository commonRepository, IMessanger commonMessanger) { repository = commonRepository; messanger = commonMessanger; sortFilterPreferences = repository.GetSortFilterPreferences(); LoadSortFilterPreferences(); SavePreferencesAsDefaultCommand = new RelayCommand(SaveAsDefault); SortAndFilterCommand = new RelayCommand(SortAndFilter); CancelSortAndFilterCommand = new RelayCommand(CancelSortAndFilter); }
public CalendarEventList FilterByStatus(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableStatusFilter) { return(allEvents); } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { if (ev.Status == (preferences.ShowConfirmedOnly ? CONFIRMED : TENTATIVE)) { filteredEvents.Add(ev); } } return(filteredEvents); }
public CalendarEventList FilterByStartTime(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableTimeFilter) { return(allEvents); } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { int starTimeInMinutes = ev.Start.Hour * 60 + ev.Start.Minute; if (starTimeInMinutes >= preferences.TimeInMinutesMin && starTimeInMinutes <= preferences.TimeInMinutesMax) { filteredEvents.Add(ev); } } return(filteredEvents); }
public CalendarEventList FilterByDayOfWeek(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableDayOfWeekFilter) { return(allEvents); } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { if (ev.Start.DayOfWeek == DayOfWeek.Monday && preferences.Monday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Tuesday && preferences.Tuesday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Wednesday && preferences.Wednesday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Thursday && preferences.Thursday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Friday && preferences.Friday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Saturday && preferences.Saturday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Sunday && preferences.Sunday) { filteredEvents.Add(ev); } } return(filteredEvents); }
public SortFilterPreferences Load() { SortFilterPreferences preferences = new SortFilterPreferences(); try { if (File.Exists(CONFIG)) { log.Debug("Loading SortFilterPreferences..."); Stream stream = File.Open(CONFIG, FileMode.Open); BinaryFormatter bformatter = new BinaryFormatter(); preferences = (SortFilterPreferences)bformatter.Deserialize(stream); stream.Close(); log.Debug("SortFilterPreferences were loaded"); } } catch (Exception ex) { log.Error("Failed to load SortFilterPreferences:", ex); } return(preferences); }
public EventsListViewModel(IGoogleCalendar googleCalendar, ICalendarEventService eventService, ITimeIntervals timeInterval, IRepository commonRepository, IMessanger commonMessanger) { try { log.Debug("Loading EventsList view model..."); calendar = googleCalendar; service = eventService; period = timeInterval; repository = commonRepository; sortFilterPreferences = repository.GetSortFilterPreferences(); messanger = commonMessanger; Events = service.GetEvents(calendar, period.Today()); Events = service.FormatEventsDatesStringRepresentation(Events, repository.GetDateTimePreferences()); GetTodayEventsCommand = new RelayCommand(GetTodayEvents); GetTomorrowEventsCommand = new RelayCommand(GetTomorrowEvents); GetThisWeekEventsCommand = new RelayCommand(GetThisWeekEvents); GetNextWeekEventsCommand = new RelayCommand(GetNextWeekEvents); GetThisMonthEventsCommand = new RelayCommand(GetThisMonthEvents); GetNextMonthEventsCommand = new RelayCommand(GetNextMonthEvents); GetPeriodEventsCommand = new RelayCommand(GetPeriodEvents); RefreshCommand = new RelayCommand(RefreshEventsList); DeleteEventCommand = new RelayCommand(DeleteEvent); UpdateEventCommand = new RelayCommand(FullUpdateEvent); ConfirmEventCommand = new RelayCommand(ConfirmEvent); MakeTentativeEventCommand = new RelayCommand(MakeTentativeEvent); ShowChooseDateEventsControlsCommand = new RelayCommand(ShowChooseDateEventsControls); HideChooseDateEventsControlsCommand = new RelayCommand(HideChooseDateEventsControls); GetChooseDateEventsCommand = new RelayCommand(GetChooseDateEvents); SetSortingAndFilteringPreferencesCommand = new RelayCommand(SetSortingAndFilteringPreferences); LogOutCommand = new RelayCommand(LogOut); log.Debug("EventsList view model was succssfully loaded"); } catch(Exception ex) { log.Error("Failed to load EventsList view model:", ex); } }
private void SetSortingAndFilteringPreferences() { var sortingAndFilteringWindow = new Views.SortingAndFilteringView(); sortingAndFilteringWindow.ShowDialog(); sortFilterPreferences = repository.GetSortFilterPreferences(); EnableSortingAndFiltering = sortFilterPreferences.Enable; RefreshEventsList(); }
public void SetSortFilterPreferences(SortFilterPreferences preferences) { sortFilterPreferences = preferences; }
public CalendarEventList Sort(CalendarEventList allEvents, SortFilterPreferences preferences) { return(preferences.Sort(allEvents)); }
public SortFilterPreferences Load() { SortFilterPreferences preferences = new SortFilterPreferences(); try { if (File.Exists(CONFIG)) { log.Debug("Loading SortFilterPreferences..."); Stream stream = File.Open(CONFIG, FileMode.Open); BinaryFormatter bformatter = new BinaryFormatter(); preferences = (SortFilterPreferences)bformatter.Deserialize(stream); stream.Close(); log.Debug("SortFilterPreferences were loaded"); } } catch (Exception ex) { log.Error("Failed to load SortFilterPreferences:", ex); } return preferences; }
public CalendarEventList FilterByStatus(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableStatusFilter) { return allEvents; } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { if (ev.Status == (preferences.ShowConfirmedOnly ? CONFIRMED : TENTATIVE)) { filteredEvents.Add(ev); } } return filteredEvents; }
public CalendarEventList FilterByDayOfWeek(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableDayOfWeekFilter) { return allEvents; } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { if (ev.Start.DayOfWeek == DayOfWeek.Monday && preferences.Monday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Tuesday && preferences.Tuesday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Wednesday && preferences.Wednesday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Thursday && preferences.Thursday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Friday && preferences.Friday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Saturday && preferences.Saturday) { filteredEvents.Add(ev); } else if (ev.Start.DayOfWeek == DayOfWeek.Sunday && preferences.Sunday) { filteredEvents.Add(ev); } } return filteredEvents; }
public CalendarEventList FilterByStartTime(CalendarEventList allEvents, SortFilterPreferences preferences) { if (!preferences.EnableTimeFilter) { return allEvents; } CalendarEventList filteredEvents = new CalendarEventList(); foreach (CalendarEvent ev in allEvents) { int starTimeInMinutes = ev.Start.Hour * 60 + ev.Start.Minute; if (starTimeInMinutes >= preferences.TimeInMinutesMin && starTimeInMinutes <= preferences.TimeInMinutesMax) { filteredEvents.Add(ev); } } return filteredEvents; }
public CalendarEventList Sort(CalendarEventList allEvents, SortFilterPreferences preferences) { return preferences.Sort(allEvents); }