public void AddNewSchedule()
		{
			frmNewScheduleId dlg = new frmNewScheduleId(this.GetUpdateJobs());

			if (dlg.ShowDialog() == DialogResult.OK)
			{
				TemplateNodeUpdateJob newJob = new TemplateNodeUpdateJob();

				newJob.Settings = new ScheduleSettings();

				newJob.Settings.Id        = dlg.Value;
				newJob.Settings.StartDate = DateTime.Now;
				newJob.Settings.Enabled   = false;

				UserSettingScheduleControl usc = new UserSettingScheduleControl(newJob)
				{
					Name = "UserSettingScheduleControl1"
				};

				TabPage tabPage = new TabPage("New schedule");
				tabPage.Controls.Add(usc);

				this.tabControl1.TabPages.Add(tabPage);

				this.tabControl1.SelectedTab = tabPage;
			}
		}
		public void AssignRefreshJob(TemplateNodeUpdateJob job)
		{
			InstanceTemplate nodeSetting = GetUserSettings(true);

			nodeSetting.Connection.ReportRefreshJob = job;
		}
		public void SaveJob(TemplateNodeUpdateJob job)
		{
			ScheduleSettingsManager scheduleManager = new ScheduleSettingsManager(
				this._model.DefaultVaultProcessor.CurrentStorage
			);

			scheduleManager.SaveScheduleSettings(this.TemplateNodeId.GetValueOrDefault(), job);

			if (this.Connection.RootOfStaticTree.Search(this) == null)
			{
				this.Connection.ResetStaticTreeRoot();
			}
		}
		public List<TemplateNodeUpdateJob> GetRefreshJob(bool fromCache)
		{
			ScheduleSettingsManager scheduleManager = new ScheduleSettingsManager(
				this._model.DefaultVaultProcessor.CurrentStorage
			);

			List<TemplateNodeUpdateJob> resultList = scheduleManager.LoadScheduleSettings(this, fromCache);

			if (resultList.IsNullOrEmpty() && !RefreshSchedules.IsNullOrEmpty())
			{
				foreach (RefreshSchedule sset in RefreshSchedules)
				{
					TemplateNodeUpdateJob result = new TemplateNodeUpdateJob();

					if (sset != null)
					{
						result.Settings = sset.Clone();

						AssignRefreshJob(result);

						resultList.Add(result);
					}
				}
			}

			return resultList;
		}