private void StartWatchingSchedules() { try { if (_configurationManager != null && _configurationManager.Session != null && _configurationManager.Session.ConnectionState == ConnectionState.Up) { _scheduleConfigurationList = new ScheduleConfigurationList(_configurationManager); var querySettings = _scheduleConfigurationList.CreateQuerySettings(); querySettings.SetRightsFilterToAdmin(); querySettings.SetPropertiesToRetrieveToAll(); querySettings.SetResultCountLimit(QueryResultLimit.Unlimited); //querySettings.SetFilterDefinition(ScheduleConfiguration.Property.Id, name); //var recurranceQuery = _scheduleConfigurationList.CreateRecurrenceQuerySettings(); var recurranceQuery = new QuerySettings <ScheduleRecurrenceConfiguration, ScheduleRecurrenceConfiguration.Property>(); var queryChildren = new ScheduleQueryChildrenSettings(); recurranceQuery.SetPropertiesToRetrieveToAll(); queryChildren.ScheduleRecurrence = recurranceQuery; querySettings.SetChildQuerySettings(queryChildren); using (var repository = Repository) { if (!repository.Schedules.Any()) { _scheduleConfigurationList.StartCaching(querySettings); var schedules = _scheduleConfigurationList.GetConfigurationList(); _scheduleConfigurationList.StopCaching(); if (schedules.Any()) { foreach (var scheduleConfiguration in schedules) { CreateSchedule(scheduleConfiguration); } _schedules = schedules; } } } _scheduleConfigurationList.ConfigurationObjectsRemoved += Schedules_ConfigurationObjectsRemoved; _scheduleConfigurationList.StartWatchingAsync(querySettings, Schedules_StartOrRefreshWatchingCompleted, null); LastUpdated = DateTime.UtcNow; } } catch (Exception e) { _logging.TraceException(e, "ScheduleConfigurations Error"); } }
private static void GetSchedules() { try { var quit = false; while (!quit) { try { if (_scheduleConfigurationList.IsCaching) _scheduleConfigurationList.StopCaching(); var name = GetConsoleInput("Enter schedule name or \"quit\" to exit:"); if (string.IsNullOrEmpty(name)) continue; if (name.Equals("quit", StringComparison.InvariantCultureIgnoreCase)) return; var query = _scheduleConfigurationList.CreateQuerySettings(); query.SetRightsFilterToAdmin(); query.SetPropertiesToRetrieveToAll(); query.SetFilterDefinition(ScheduleConfiguration.Property.Id, name); var recurranceQuery = _scheduleConfigurationList.CreateRecurrenceQuerySettings(); var queryChildren = new ScheduleQueryChildrenSettings(); recurranceQuery.SetPropertiesToRetrieveToAll(); queryChildren.ScheduleRecurrence = recurranceQuery; query.SetChildQuerySettings(queryChildren); _scheduleConfigurationList.StartCaching(query); var list = _scheduleConfigurationList.GetConfigurationList(); Console.WriteLine("Got {0} schedules", list.Count); ScheduleConfiguration schedule; if (list.Count > 1) { for (int i = 0; i < list.Count; i++) { var s = list[i]; Console.WriteLine("Press {0} for {1}", i, s.ConfigurationId.DisplayName); } var choice = Console.ReadLine(); int key = 0; if (!int.TryParse(choice,out key)) continue; schedule = list[key]; } else if (list.Count == 0) { continue; } else { schedule = list[0]; } Console.WriteLine("Schedule active={0}. Press 1 to set active, 2 to set inactive.", schedule.IsActive.Value); var active = Console.ReadLine(); schedule.PrepareForEdit(); schedule.IsActive.Value = active.Equals("1", StringComparison.InvariantCultureIgnoreCase); schedule.Commit(); _scheduleConfigurationList.StopCaching(); } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } } } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } }
private static void GetSchedules() { try { var quit = false; while (!quit) { try { if (_scheduleConfigurationList.IsCaching) { _scheduleConfigurationList.StopCaching(); } var name = GetConsoleInput("Enter schedule name or \"quit\" to exit:"); if (string.IsNullOrEmpty(name)) { continue; } if (name.Equals("quit", StringComparison.InvariantCultureIgnoreCase)) { return; } var query = _scheduleConfigurationList.CreateQuerySettings(); query.SetRightsFilterToAdmin(); query.SetPropertiesToRetrieveToAll(); query.SetFilterDefinition(ScheduleConfiguration.Property.Id, name); var recurranceQuery = _scheduleConfigurationList.CreateRecurrenceQuerySettings(); var queryChildren = new ScheduleQueryChildrenSettings(); recurranceQuery.SetPropertiesToRetrieveToAll(); queryChildren.ScheduleRecurrence = recurranceQuery; query.SetChildQuerySettings(queryChildren); _scheduleConfigurationList.StartCaching(query); var list = _scheduleConfigurationList.GetConfigurationList(); Console.WriteLine("Got {0} schedules", list.Count); ScheduleConfiguration schedule; if (list.Count > 1) { for (int i = 0; i < list.Count; i++) { var s = list[i]; Console.WriteLine("Press {0} for {1}", i, s.ConfigurationId.DisplayName); } var choice = Console.ReadLine(); int key = 0; if (!int.TryParse(choice, out key)) { continue; } schedule = list[key]; } else if (list.Count == 0) { continue; } else { schedule = list[0]; } Console.WriteLine("Schedule active={0}. Press 1 to set active, 2 to set inactive.", schedule.IsActive.Value); var active = Console.ReadLine(); schedule.PrepareForEdit(); schedule.IsActive.Value = active.Equals("1", StringComparison.InvariantCultureIgnoreCase); schedule.Commit(); _scheduleConfigurationList.StopCaching(); } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } } } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } }