private void UpdateUserCalendarPreferences() { var userCalendars = userCalendarPreferences.UserCalendars; var googleCalendars = calendar.GetCalendars(); // Add mising calendars to preferences foreach (var googleCalendar in googleCalendars) { if (userCalendars.FindAll(x => x.Id == googleCalendar.Id).ToList().Count == 0) { userCalendars.Add(googleCalendar); } } // Remove old calendars from preferences var calendarsForRemove = new List <UserCalendar>(); foreach (var userCalendar in userCalendars) { if (googleCalendars.FindAll(x => x.Id == userCalendar.Id).ToList().Count == 0) { calendarsForRemove.Add(userCalendar); } } foreach (var calendarForRemove in calendarsForRemove) { userCalendars.Remove(calendarForRemove); } // Update AGC with new calendars list userCalendarPreferences.UserCalendars = userCalendars; repository.SetUserCalendarsPreferences(userCalendarPreferences); userCalendarPreferences.Save(); }
private void SaveUserCalendarPreferences() { foreach (var userCalendar in userCalendarPreferences.UserCalendars) { userCalendar.IsVisible = userCalendars[userCalendar.Name]; } userCalendarPreferences.ShowEmptyDays = ShowEmptyDays; userCalendarPreferences.ShowEmptyWeekends = ShowEmptyWeekends; if (userCalendarPreferences.Save()) { messanger.Success("Saved", false); repository.SetUserCalendarsPreferences(userCalendarPreferences); } else { messanger.Error("Failed to save User Calendars preferences. Please check log file for a detailed information about the error.", false); } }