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 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); }
public List <TemplateNodeUpdateJob> GetJobs(TemplateNodeInfo node) { long templateNodeId = node.TemplateNodeId.GetValueOrDefault(); List <ScheduleSettingsRow> rows = this._currentStorage.ScheduleSettingsTable .GetAllRowsByTemplateNodeId(templateNodeId); List <TemplateNodeUpdateJob> jobs = new List <TemplateNodeUpdateJob>(); foreach (ScheduleSettingsRow row in rows) { if (row != null) { TemplateNodeUpdateJob job = this.CreateJob(row, node); jobs.Add(job); } else { jobs.Add(TemplateNodeUpdateJob.Empty); } } return(jobs); }
private TreeNode FindJobbedUiTreeNode(Job job) { var nodesList = new List <TreeNode>(); foreach (TreeNode currentNode in treeTemplate.Nodes) { nodesList.AddRange(GetEnabledTreenodesForTimingTick(currentNode)); } foreach (var treeNode in nodesList) { var node = treeNode.Tag as ConcreteTemplateNodeDefinition; if (node == null) { continue; } TemplateNodeUpdateJob tjob = node.TemplateNode.GetRefreshJob(true).FirstOrDefault(j => j == job); if (tjob != null && !tjob.IsEmpty()) { return(treeNode); } } return(null); }
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> GetJobs(List <ScheduleSettingsRow> rows, TemplateNodeInfo node) { List <TemplateNodeUpdateJob> jobs = new List <TemplateNodeUpdateJob>(); foreach (ScheduleSettingsRow row in rows) { if (row != null) { TemplateNodeUpdateJob job = this.CreateJob(row, node); jobs.Add(job); } else { jobs.Add(TemplateNodeUpdateJob.Empty); } } return(jobs); }
public List <TemplateNodeUpdateJob> GetUpdateJobs() { List <TemplateNodeUpdateJob> updateJobs = new List <TemplateNodeUpdateJob>(); if (this.NodeDefinition != null && this.NodeDefinition.TemplateNode != null) { foreach (TabPage page in tabControl1.TabPages) { UserSettingScheduleControl usc = page.Controls["UserSettingScheduleControl1"] as UserSettingScheduleControl; if (usc.job == null || usc.job.IsEmpty()) { continue; } TemplateNodeUpdateJob newJob = usc.getJob(); updateJobs.Add(newJob); } } return(updateJobs); }
public TemplateNodeUpdateJob getJob() { TemplateNodeUpdateJob newJob = new TemplateNodeUpdateJob(); newJob.Settings = new ScheduleSettings(); newJob.Settings.Id = job.Settings.Id; newJob.Settings.Name = tbName.Text; newJob.Settings.IsSendMessage = cbEmailNotification.Checked; newJob.Settings.Enabled = cbJobEnabled.Checked; var schedType = (ScheduleType)cbScheduleType.SelectedValue; switch (schedType) { case ScheduleType.One_time: newJob.Settings.OccursOnceDateTime = dtDateStartOneTime.Value.Date.Add(dtTimeStartOneTime.Value.TimeOfDay); newJob.Settings.OccursOnceDateTimeEnabled = true; break; case ScheduleType.Recurring: if (cbFrequencyType.SelectedIndex == -1) { cbFrequencyType.SelectedIndex = 0; } if (cbFrequencyInterval.SelectedIndex == -1) { cbFrequencyInterval.SelectedIndex = 0; } newJob.Settings.ReccurPeriod = new TimeUnitBasedPeriod( (ReccurPeriodTimeUnit)cbFrequencyType.SelectedValue, (int)cbFrequencyInterval.SelectedValue ); newJob.Settings.OccursOnceDateTimeEnabled = false; break; } newJob.Settings.DailyFrequency = new DailyFrequency { OccursOnce = rbDailyFreqOccursOnce.Checked }; if (rbDailyFreqOccursOnce.Checked) { newJob.Settings.DailyFrequency.OccursOnceTime = dtTimeOccursOnly.Value.TimeOfDay; } else { newJob.Settings.DailyFrequency.PeriodTimeUnit = (DailyFrequency.TimeUnit)cbOccursEveryType.SelectedValue; newJob.Settings.DailyFrequency.PeriodTimeUnitCount = (int)cbOccursEvery.SelectedValue; newJob.Settings.DailyFrequency.StartingAt = dtDaylyEveryStart.Value.TimeOfDay; newJob.Settings.DailyFrequency.EndingAt = dtDaylyEveryEnd.Value.TimeOfDay; } newJob.Settings.StartDate = dtDateDurationStart.Value; newJob.Settings.EndDate = dtDateDurationEnd.Value; newJob.Settings.HasEndDate = rbEndDate.Checked; newJob.Settings.ActiveWeekDays.Clear(); if (cbMonday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Monday); } if (cbTuesday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Tuesday); } if (cbWednesday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Wednesday); } if (cbThursday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Thursday); } if (cbFriday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Friday); } if (cbSaturday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Saturday); } if (cbSunday.Checked) { newJob.Settings.ActiveWeekDays.Add(DayOfWeek.Sunday); } if (dayOfMonthPanel.Visible) { newJob.Settings.DayOfMonth = new DayOfMonthSettings { DayNumber = (int)dayOfMonthUpDown.Value }; } return(newJob); }
public UserSettingScheduleControl(TemplateNodeUpdateJob job) { InitializeComponent(); //this.lbFrequencyInterval.Text = GetLocalizedText("frequencyInterval"); this.job = job; this.lblEnabled.Text = GetLocalizedText("enabled"); this.lbFrequencyType.Text = GetLocalizedText("frequencyType"); this.lbStartDateTime.Text = GetLocalizedText("startDateTime"); this.lbEndDateTime.Text = GetLocalizedText("endDateTime"); this.lbName.Text = GetLocalizedText("lbName"); this.lbScheduleType.Text = GetLocalizedText("lbScheduleType"); this.lbOneTimeheader.Text = GetLocalizedText("lbOneTimeheader"); this.lbDateOnce.Text = GetLocalizedText("lbDateOnce"); this.lbTimeOnce.Text = GetLocalizedText("lbTimeOnce"); this.lbOccurs.Text = GetLocalizedText("lbOccurs"); this.label1.Text = GetLocalizedText("label1"); this.lbDailyFreequency.Text = GetLocalizedText("lbDailyFreequency"); this.rbDailyFreqOccursOnce.Text = GetLocalizedText("rbOccyrsType"); this.rbDailyFreqOccursEvery.Text = GetLocalizedText("rbOccyrsTypeEvery"); this.label4.Text = GetLocalizedText("label4"); this.lbStartDate.Text = GetLocalizedText("lbStartDate"); this.rbEndDate.Text = GetLocalizedText("radioButton1"); this.rbNoEndDate.Text = GetLocalizedText("radioButton2"); this.cbEmailNotification.Text = GetLocalizedText("cbEmailNotification"); dtDateStartOneTime.Format = dtDateDurationStart.Format = dtTimeStartOneTime.Format = dtTimeOccursOnly.Format = dtDaylyEveryStart.Format = dtDaylyEveryEnd.Format = dtDateDurationEnd.Format = DateTimePickerFormat.Custom; dtDateStartOneTime.CustomFormat = dtDateDurationStart.CustomFormat = dtDateDurationEnd.CustomFormat = "dd/MM/yyyy"; dtTimeStartOneTime.CustomFormat = dtTimeOccursOnly.CustomFormat = dtDaylyEveryStart.CustomFormat = dtDaylyEveryEnd.CustomFormat = "HH:mm:ss"; dtDateStartOneTime.MaxDate = dtDateDurationStart.MaxDate = dtTimeStartOneTime.MaxDate = dtTimeOccursOnly.MaxDate = dtDaylyEveryStart.MaxDate = dtDaylyEveryEnd.MaxDate = dtDateDurationEnd.MaxDate = DateTime.MaxValue; dtDateStartOneTime.MinDate = dtDateDurationStart.MinDate = dtTimeStartOneTime.MinDate = dtTimeOccursOnly.MinDate = dtDaylyEveryStart.MinDate = dtDaylyEveryEnd.MinDate = dtDateDurationEnd.MinDate = DateTime.MinValue; cbFrequencyType.DisplayMember = cbFrequencyInterval.DisplayMember = cbScheduleType.DisplayMember = cbOccursEveryType.DisplayMember = cbOccursEvery.DisplayMember = "Key"; cbFrequencyType.ValueMember = cbFrequencyInterval.ValueMember = cbScheduleType.ValueMember = cbOccursEveryType.ValueMember = cbOccursEvery.ValueMember = "Value"; cbFrequencyType.Items.Clear(); cbFrequencyInterval.Items.Clear(); cbScheduleType.Items.Clear(); cbOccursEveryType.Items.Clear(); cbOccursEvery.Items.Clear(); cbFrequencyInterval.DropDownStyle = cbFrequencyType.DropDownStyle = cbOccursEvery.DropDownStyle = cbOccursEveryType.DropDownStyle = cbScheduleType.DropDownStyle = ComboBoxStyle.DropDownList; cbScheduleType.DataSource = ToLocalized <ScheduleType>().ToList(); cbOccursEveryType.DataSource = ToLocalized <DailyFrequency.TimeUnit>().ToList(); cbFrequencyType.DataSource = ToLocalized <ReccurPeriodTimeUnit>().ToList(); var numberList = new List <KeyValuePair <int, int> >(); for (var i = 1; i < 61; i++) { numberList.Add(new KeyValuePair <int, int>(i, i)); } cbFrequencyInterval.DataSource = numberList.ToList(); cbOccursEvery.DataSource = numberList.ToList(); // set default values tbId.Text = job.Settings.Id; tbName.Text = job.Settings.Name; cbScheduleType.SelectedItem = cbScheduleType.Items.Cast <KeyValuePair <string, ScheduleType> >().FirstOrDefault(); DateTime tmpDateTime = DateTime.Now; dtDateStartOneTime.Value = new DateTime(tmpDateTime.Date.Ticks); dtTimeStartOneTime.Value = new DateTime(tmpDateTime.Ticks); dtDateDurationStart.Value = new DateTime(tmpDateTime.Ticks); dtDateDurationEnd.Value = new DateTime(tmpDateTime.Ticks > dtDateDurationEnd.MaxDate.Ticks ? dtDateDurationEnd.MaxDate.Date.Ticks : tmpDateTime.Ticks); if (new DateTime(tmpDateTime.Ticks) == DateTime.MaxValue || dtDateDurationEnd.Value == dtDateDurationEnd.MaxDate.Date) { rbNoEndDate.Checked = true; } else { rbEndDate.Checked = true; } radioButton1_CheckedChanged(rbEndDate, new EventArgs()); cbScheduleType_SelectedIndexChanged(cbScheduleType, new EventArgs()); cbFrequencyType.SelectedItem = cbFrequencyType.Items.Cast <KeyValuePair <string, ReccurPeriodTimeUnit> >() .FirstOrDefault(); cbFrequencyInterval.SelectedItem = cbFrequencyInterval.Items.Cast <KeyValuePair <int, int> >() .FirstOrDefault(); cbJobEnabled.Checked = true; cbOccursEvery.SelectedItem = cbOccursEvery.Items.Cast <KeyValuePair <int, int> >() .FirstOrDefault(); cbOccursEveryType.SelectedItem = cbOccursEveryType.Items.Cast <KeyValuePair <string, DailyFrequency.TimeUnit> >() .FirstOrDefault(); dtTimeOccursOnly.Value = new DateTime(tmpDateTime.Ticks); dtDaylyEveryStart.Value = new DateTime(tmpDateTime.Ticks); dtDaylyEveryEnd.Value = new DateTime(tmpDateTime.Ticks); rbDailyFreqOccursOnce.Checked = false; rbDailyFreqOccursEvery.Checked = true; rbDailyFreqOccursOnce_CheckedChanged(rbDailyFreqOccursOnce, new EventArgs()); cbEmailNotification.Checked = job.Settings.IsSendMessage; refreshEmailNotificationControlsState(); }
public void AssignRefreshJob(TemplateNodeUpdateJob job) { InstanceTemplate nodeSetting = GetUserSettings(true); nodeSetting.Connection.ReportRefreshJob = job; }