internal TaskManifest(TaskConfigurationCollection configuredTasks) { if (configuredTasks == null) { throw new ArgumentNullException("configuredTasks"); } _CallbackBaseUri = configuredTasks.CallbackBaseUri; var taskList = new List <ConfiguredTask>(); using (var taskBuilder = new TaskBuilder(_CallbackBaseUri)) { foreach (TaskConfigurationElement element in configuredTasks) { taskList.Add(taskBuilder.Create(_ClockSource, element.Periodicity, element.Hour, element.Minute, element.Url)); if (this.CallbackBaseUri == null) { this.ScavengeForCallbackBaseUri(element.Url); } } } _TaskCollection = new ImmutableTaskCollection(taskList); }
internal TaskManifest(TaskConfigurationCollection configuredTasks) { if (configuredTasks == null) { throw new ArgumentNullException("configuredTasks"); } _CallbackBaseUri = configuredTasks.CallbackBaseUri; var taskList = new List<ConfiguredTask>(); using (var taskBuilder = new TaskBuilder(_CallbackBaseUri)) { foreach (TaskConfigurationElement element in configuredTasks) { taskList.Add(taskBuilder.Create(_ClockSource, element.Periodicity, element.Hour, element.Minute, element.Url)); if (this.CallbackBaseUri == null) { this.ScavengeForCallbackBaseUri(element.Url); } } } _TaskCollection = new ImmutableTaskCollection(taskList); }
private void AddTask(IClockSource clockSource, PeriodicityType periodicity, int hour, int minute, Uri url) { using (var taskBuilder = new TaskBuilder(this.CallbackBaseUri)) { ConfiguredTask taskConfig = taskBuilder.Create(clockSource, periodicity, hour, minute, url); if (_TaskCollection.Add(taskConfig)) { if (this.CallbackBaseUri == null) { this.ScavengeForCallbackBaseUri(taskConfig.Url); } this.Schedule(this.PrepareNextCallback(taskConfig)); if (!_CurrentState.IsActive) { Start(); } } } }
private void AddTask(IClockSource clockSource, PeriodicityType periodicity, int hour, int minute, Uri url) { using (var taskBuilder = new TaskBuilder(this.CallbackBaseUri)) { ConfiguredTask taskConfig = taskBuilder.Create(clockSource, periodicity, hour, minute, url); if (_TaskCollection.Add(taskConfig)) { if (this.CallbackBaseUri == null) { this.ScavengeForCallbackBaseUri(taskConfig.Url); } this.Schedule(this.PrepareNextCallback(taskConfig)); if (!_CurrentState.IsActive) { Start(); } } } }