diff --git a/.gitignore b/.gitignore index a30f270..27c1129 100644 --- a/.gitignore +++ b/.gitignore @@ -295,3 +295,4 @@ __pycache__/ /Setup/Quartz.Serialization.Json.dll /Setup/Quartz.Plugins.dll /Setup/Quartz.Jobs.dll +/Setup/Quartz.dll diff --git a/Common/Contracts/SettingsConstants.cs b/Common/Contracts/SettingsConstants.cs index c812eb3..6f42804 100644 --- a/Common/Contracts/SettingsConstants.cs +++ b/Common/Contracts/SettingsConstants.cs @@ -74,6 +74,11 @@ namespace RecurringIntegrationsScheduler.Common.Contracts /// public const string PauseJobOnException = "PauseJobOnException"; + /// + /// Pause job indefinitely + /// + public const string IndefinitePause = "IndefinitePause"; + /// /// The relative path to the ImportFromPackage Odata action /// diff --git a/Common/JobSettings/Settings.cs b/Common/JobSettings/Settings.cs index 743a560..cd894c5 100644 --- a/Common/JobSettings/Settings.cs +++ b/Common/JobSettings/Settings.cs @@ -99,6 +99,8 @@ namespace RecurringIntegrationsScheduler.Common.JobSettings PauseJobOnException = Convert.ToBoolean(dataMap.GetString(SettingsConstants.PauseJobOnException)); + IndefinitePause = Convert.ToBoolean(dataMap.GetString(SettingsConstants.IndefinitePause)); + ImportFromPackageActionPath = dataMap.GetString(SettingsConstants.ImportFromPackageActionPath); if (string.IsNullOrEmpty(ImportFromPackageActionPath)) { @@ -252,6 +254,14 @@ namespace RecurringIntegrationsScheduler.Common.JobSettings /// public bool PauseJobOnException { get; set; } + /// + /// Gets or sets a value indicating whether the job is paused indefinitely or not. + /// + /// + /// true if [pause job indefinitely]; otherwise, false. + /// + public bool IndefinitePause { get; set; } + /// /// Get the ImportFromPackage Odata action relative path /// diff --git a/Common/packages.config b/Common/packages.config index c6f4868..8fd880c 100644 --- a/Common/packages.config +++ b/Common/packages.config @@ -3,6 +3,6 @@ - + \ No newline at end of file diff --git a/Job.Download/Download.cs b/Job.Download/Download.cs index 4f9bc5d..f951f39 100644 --- a/Job.Download/Download.cs +++ b/Job.Download/Download.cs @@ -95,6 +95,14 @@ namespace RecurringIntegrationsScheduler.Job _context = context; _settings.Initialize(context); + if (_settings.IndefinitePause) + { + await context.Scheduler.PauseJob(context.JobDetail.Key); + Log.InfoFormat(CultureInfo.InvariantCulture, + string.Format(Resources.Job_0_was_paused_indefinitely, _context.JobDetail.Key)); + return; + } + _retryPolicyForIo = Policy.Handle().WaitAndRetry( retryCount: _settings.RetryCount, sleepDurationProvider: attempt => TimeSpan.FromSeconds(_settings.RetryDelay), diff --git a/Job.Download/Properties/Resources.Designer.cs b/Job.Download/Properties/Resources.Designer.cs index cca5510..c6230af 100644 --- a/Job.Download/Properties/Resources.Designer.cs +++ b/Job.Download/Properties/Resources.Designer.cs @@ -221,5 +221,14 @@ namespace RecurringIntegrationsScheduler.Job.Properties { return ResourceManager.GetString("Job_0_was_paused_because_of_error", resourceCulture); } } + + /// + /// Looks up a localized string similar to Job: {0} was paused indefinitely.. + /// + internal static string Job_0_was_paused_indefinitely { + get { + return ResourceManager.GetString("Job_0_was_paused_indefinitely", resourceCulture); + } + } } } diff --git a/Job.Download/Properties/Resources.resx b/Job.Download/Properties/Resources.resx index 50441b8..72b9544 100644 --- a/Job.Download/Properties/Resources.resx +++ b/Job.Download/Properties/Resources.resx @@ -171,4 +171,7 @@ Job: {0} thrown an error. Exception : {1} + + Job: {0} was paused indefinitely. + \ No newline at end of file diff --git a/Job.Download/packages.config b/Job.Download/packages.config index 1f05d05..b1ea373 100644 --- a/Job.Download/packages.config +++ b/Job.Download/packages.config @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/Job.ExecutionMonitor/packages.config b/Job.ExecutionMonitor/packages.config index a0e8296..202e8ab 100644 --- a/Job.ExecutionMonitor/packages.config +++ b/Job.ExecutionMonitor/packages.config @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/Job.Export/packages.config b/Job.Export/packages.config index a0e8296..202e8ab 100644 --- a/Job.Export/packages.config +++ b/Job.Export/packages.config @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/Job.Import/packages.config b/Job.Import/packages.config index 1f05d05..b1ea373 100644 --- a/Job.Import/packages.config +++ b/Job.Import/packages.config @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/Job.ProcessingMonitor/packages.config b/Job.ProcessingMonitor/packages.config index 1f05d05..b1ea373 100644 --- a/Job.ProcessingMonitor/packages.config +++ b/Job.ProcessingMonitor/packages.config @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/Job.Upload/packages.config b/Job.Upload/packages.config index a0e8296..202e8ab 100644 --- a/Job.Upload/packages.config +++ b/Job.Upload/packages.config @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/Scheduler/Forms/DownloadJob.Designer.cs b/Scheduler/Forms/DownloadJob.Designer.cs index ad57c97..148fd05 100644 --- a/Scheduler/Forms/DownloadJob.Designer.cs +++ b/Scheduler/Forms/DownloadJob.Designer.cs @@ -62,6 +62,7 @@ namespace RecurringIntegrationsScheduler.Forms this.instanceLabel = new System.Windows.Forms.Label(); this.instanceComboBox = new System.Windows.Forms.ComboBox(); this.recurrenceGroupBox = new System.Windows.Forms.GroupBox(); + this.pauseIndefinitelyCheckBox = new System.Windows.Forms.CheckBox(); this.moreExamplesButton = new System.Windows.Forms.Button(); this.calculatedRunsTextBox = new System.Windows.Forms.TextBox(); this.calculateNextRunsButton = new System.Windows.Forms.Button(); @@ -120,11 +121,9 @@ namespace RecurringIntegrationsScheduler.Forms this.jobDetailsGroupBox.Controls.Add(this.jobGroupLabel); this.jobDetailsGroupBox.Controls.Add(this.jobName); this.jobDetailsGroupBox.Controls.Add(this.jobNameLabel); - this.jobDetailsGroupBox.Location = new System.Drawing.Point(20, 20); - this.jobDetailsGroupBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.jobDetailsGroupBox.Location = new System.Drawing.Point(13, 13); this.jobDetailsGroupBox.Name = "jobDetailsGroupBox"; - this.jobDetailsGroupBox.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.jobDetailsGroupBox.Size = new System.Drawing.Size(345, 463); + this.jobDetailsGroupBox.Size = new System.Drawing.Size(230, 301); this.jobDetailsGroupBox.TabIndex = 0; this.jobDetailsGroupBox.TabStop = false; this.jobDetailsGroupBox.Text = "Job details"; @@ -133,9 +132,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.deletePackageCheckBox.AutoSize = true; this.deletePackageCheckBox.Enabled = false; - this.deletePackageCheckBox.Location = new System.Drawing.Point(18, 425); + this.deletePackageCheckBox.Location = new System.Drawing.Point(12, 276); + this.deletePackageCheckBox.Margin = new System.Windows.Forms.Padding(2); this.deletePackageCheckBox.Name = "deletePackageCheckBox"; - this.deletePackageCheckBox.Size = new System.Drawing.Size(171, 24); + this.deletePackageCheckBox.Size = new System.Drawing.Size(118, 17); this.deletePackageCheckBox.TabIndex = 14; this.deletePackageCheckBox.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Delete_package_file; this.deletePackageCheckBox.UseVisualStyleBackColor = true; @@ -144,9 +144,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.addTimestampCheckBox.AutoSize = true; this.addTimestampCheckBox.Enabled = false; - this.addTimestampCheckBox.Location = new System.Drawing.Point(18, 394); + this.addTimestampCheckBox.Location = new System.Drawing.Point(12, 256); + this.addTimestampCheckBox.Margin = new System.Windows.Forms.Padding(2); this.addTimestampCheckBox.Name = "addTimestampCheckBox"; - this.addTimestampCheckBox.Size = new System.Drawing.Size(260, 24); + this.addTimestampCheckBox.Size = new System.Drawing.Size(177, 17); this.addTimestampCheckBox.TabIndex = 13; this.addTimestampCheckBox.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Make_exported_file_name_unique; this.addTimestampCheckBox.UseVisualStyleBackColor = true; @@ -154,9 +155,10 @@ namespace RecurringIntegrationsScheduler.Forms // unzipCheckBox // this.unzipCheckBox.AutoSize = true; - this.unzipCheckBox.Location = new System.Drawing.Point(18, 363); + this.unzipCheckBox.Location = new System.Drawing.Point(12, 236); + this.unzipCheckBox.Margin = new System.Windows.Forms.Padding(2); this.unzipCheckBox.Name = "unzipCheckBox"; - this.unzipCheckBox.Size = new System.Drawing.Size(165, 24); + this.unzipCheckBox.Size = new System.Drawing.Size(114, 17); this.unzipCheckBox.TabIndex = 12; this.unzipCheckBox.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Unzip_package_file; this.unzipCheckBox.UseVisualStyleBackColor = true; @@ -167,10 +169,9 @@ namespace RecurringIntegrationsScheduler.Forms this.useStandardSubfolder.AutoSize = true; this.useStandardSubfolder.Checked = true; this.useStandardSubfolder.CheckState = System.Windows.Forms.CheckState.Checked; - this.useStandardSubfolder.Location = new System.Drawing.Point(18, 265); - this.useStandardSubfolder.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.useStandardSubfolder.Location = new System.Drawing.Point(12, 172); this.useStandardSubfolder.Name = "useStandardSubfolder"; - this.useStandardSubfolder.Size = new System.Drawing.Size(213, 24); + this.useStandardSubfolder.Size = new System.Drawing.Size(143, 17); this.useStandardSubfolder.TabIndex = 8; this.useStandardSubfolder.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Use_default_folder_names; this.useStandardSubfolder.UseVisualStyleBackColor = true; @@ -181,10 +182,10 @@ namespace RecurringIntegrationsScheduler.Forms this.errorsFolderBrowserButton.Enabled = false; this.errorsFolderBrowserButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.errorsFolderBrowserButton.Image = global::RecurringIntegrationsScheduler.Properties.Resources.Folder_open_32xMD_exp; - this.errorsFolderBrowserButton.Location = new System.Drawing.Point(303, 317); + this.errorsFolderBrowserButton.Location = new System.Drawing.Point(202, 206); this.errorsFolderBrowserButton.Margin = new System.Windows.Forms.Padding(0); this.errorsFolderBrowserButton.Name = "errorsFolderBrowserButton"; - this.errorsFolderBrowserButton.Size = new System.Drawing.Size(36, 40); + this.errorsFolderBrowserButton.Size = new System.Drawing.Size(24, 26); this.errorsFolderBrowserButton.TabIndex = 7; this.errorsFolderBrowserButton.TextAlign = System.Drawing.ContentAlignment.TopLeft; this.errorsFolderBrowserButton.UseVisualStyleBackColor = true; @@ -193,19 +194,17 @@ namespace RecurringIntegrationsScheduler.Forms // errorsFolder // this.errorsFolder.Enabled = false; - this.errorsFolder.Location = new System.Drawing.Point(18, 323); - this.errorsFolder.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.errorsFolder.Location = new System.Drawing.Point(12, 210); this.errorsFolder.Name = "errorsFolder"; - this.errorsFolder.Size = new System.Drawing.Size(278, 26); + this.errorsFolder.Size = new System.Drawing.Size(187, 20); this.errorsFolder.TabIndex = 6; // // errorsFolderLabel // this.errorsFolderLabel.AutoSize = true; - this.errorsFolderLabel.Location = new System.Drawing.Point(14, 297); - this.errorsFolderLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.errorsFolderLabel.Location = new System.Drawing.Point(9, 193); this.errorsFolderLabel.Name = "errorsFolderLabel"; - this.errorsFolderLabel.Size = new System.Drawing.Size(96, 20); + this.errorsFolderLabel.Size = new System.Drawing.Size(63, 13); this.errorsFolderLabel.TabIndex = 11; this.errorsFolderLabel.Text = "Errors folder"; // @@ -213,10 +212,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.downloadFolderBrowserButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.downloadFolderBrowserButton.Image = global::RecurringIntegrationsScheduler.Properties.Resources.Folder_open_32xMD_exp; - this.downloadFolderBrowserButton.Location = new System.Drawing.Point(303, 222); + this.downloadFolderBrowserButton.Location = new System.Drawing.Point(202, 144); this.downloadFolderBrowserButton.Margin = new System.Windows.Forms.Padding(0); this.downloadFolderBrowserButton.Name = "downloadFolderBrowserButton"; - this.downloadFolderBrowserButton.Size = new System.Drawing.Size(36, 40); + this.downloadFolderBrowserButton.Size = new System.Drawing.Size(24, 26); this.downloadFolderBrowserButton.TabIndex = 5; this.downloadFolderBrowserButton.TextAlign = System.Drawing.ContentAlignment.TopLeft; this.downloadFolderBrowserButton.UseVisualStyleBackColor = true; @@ -224,39 +223,35 @@ namespace RecurringIntegrationsScheduler.Forms // // downloadFolder // - this.downloadFolder.Location = new System.Drawing.Point(20, 226); - this.downloadFolder.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.downloadFolder.Location = new System.Drawing.Point(13, 147); this.downloadFolder.Name = "downloadFolder"; - this.downloadFolder.Size = new System.Drawing.Size(278, 26); + this.downloadFolder.Size = new System.Drawing.Size(187, 20); this.downloadFolder.TabIndex = 4; this.downloadFolder.TextChanged += new System.EventHandler(this.DownloadFolder_TextChanged); // // downloadFolderLabel // this.downloadFolderLabel.AutoSize = true; - this.downloadFolderLabel.Location = new System.Drawing.Point(15, 200); - this.downloadFolderLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.downloadFolderLabel.Location = new System.Drawing.Point(10, 130); this.downloadFolderLabel.Name = "downloadFolderLabel"; - this.downloadFolderLabel.Size = new System.Drawing.Size(124, 20); + this.downloadFolderLabel.Size = new System.Drawing.Size(84, 13); this.downloadFolderLabel.TabIndex = 8; this.downloadFolderLabel.Text = "Download folder"; // // jobDescription // - this.jobDescription.Location = new System.Drawing.Point(16, 140); - this.jobDescription.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.jobDescription.Location = new System.Drawing.Point(11, 91); this.jobDescription.Multiline = true; this.jobDescription.Name = "jobDescription"; - this.jobDescription.Size = new System.Drawing.Size(314, 52); + this.jobDescription.Size = new System.Drawing.Size(211, 35); this.jobDescription.TabIndex = 3; // // jobDescriptionLabel // this.jobDescriptionLabel.AutoSize = true; - this.jobDescriptionLabel.Location = new System.Drawing.Point(14, 114); - this.jobDescriptionLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.jobDescriptionLabel.Location = new System.Drawing.Point(9, 74); this.jobDescriptionLabel.Name = "jobDescriptionLabel"; - this.jobDescriptionLabel.Size = new System.Drawing.Size(89, 20); + this.jobDescriptionLabel.Size = new System.Drawing.Size(60, 13); this.jobDescriptionLabel.TabIndex = 4; this.jobDescriptionLabel.Text = "Description"; // @@ -264,38 +259,34 @@ namespace RecurringIntegrationsScheduler.Forms // this.jobGroupComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.jobGroupComboBox.FormattingEnabled = true; - this.jobGroupComboBox.Location = new System.Drawing.Point(75, 75); - this.jobGroupComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.jobGroupComboBox.Location = new System.Drawing.Point(50, 49); this.jobGroupComboBox.Name = "jobGroupComboBox"; - this.jobGroupComboBox.Size = new System.Drawing.Size(258, 28); + this.jobGroupComboBox.Size = new System.Drawing.Size(173, 21); this.jobGroupComboBox.Sorted = true; this.jobGroupComboBox.TabIndex = 2; // // jobGroupLabel // this.jobGroupLabel.AutoSize = true; - this.jobGroupLabel.Location = new System.Drawing.Point(14, 80); - this.jobGroupLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.jobGroupLabel.Location = new System.Drawing.Point(9, 52); this.jobGroupLabel.Name = "jobGroupLabel"; - this.jobGroupLabel.Size = new System.Drawing.Size(54, 20); + this.jobGroupLabel.Size = new System.Drawing.Size(36, 13); this.jobGroupLabel.TabIndex = 2; this.jobGroupLabel.Text = "Group"; // // jobName // - this.jobName.Location = new System.Drawing.Point(75, 26); - this.jobName.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.jobName.Location = new System.Drawing.Point(50, 17); this.jobName.Name = "jobName"; - this.jobName.Size = new System.Drawing.Size(258, 26); + this.jobName.Size = new System.Drawing.Size(173, 20); this.jobName.TabIndex = 1; // // jobNameLabel // this.jobNameLabel.AutoSize = true; - this.jobNameLabel.Location = new System.Drawing.Point(14, 31); - this.jobNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.jobNameLabel.Location = new System.Drawing.Point(9, 20); this.jobNameLabel.Name = "jobNameLabel"; - this.jobNameLabel.Size = new System.Drawing.Size(51, 20); + this.jobNameLabel.Size = new System.Drawing.Size(35, 13); this.jobNameLabel.TabIndex = 0; this.jobNameLabel.Text = "Name"; // @@ -310,11 +301,9 @@ namespace RecurringIntegrationsScheduler.Forms this.axDetailsGroupBox.Controls.Add(this.userComboBox); this.axDetailsGroupBox.Controls.Add(this.instanceLabel); this.axDetailsGroupBox.Controls.Add(this.instanceComboBox); - this.axDetailsGroupBox.Location = new System.Drawing.Point(20, 492); - this.axDetailsGroupBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.axDetailsGroupBox.Location = new System.Drawing.Point(13, 320); this.axDetailsGroupBox.Name = "axDetailsGroupBox"; - this.axDetailsGroupBox.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.axDetailsGroupBox.Size = new System.Drawing.Size(345, 237); + this.axDetailsGroupBox.Size = new System.Drawing.Size(230, 154); this.axDetailsGroupBox.TabIndex = 1; this.axDetailsGroupBox.TabStop = false; this.axDetailsGroupBox.Text = "Dynamics details"; @@ -322,10 +311,9 @@ namespace RecurringIntegrationsScheduler.Forms // aadApplicationLabel // this.aadApplicationLabel.AutoSize = true; - this.aadApplicationLabel.Location = new System.Drawing.Point(14, 158); - this.aadApplicationLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.aadApplicationLabel.Location = new System.Drawing.Point(9, 103); this.aadApplicationLabel.Name = "aadApplicationLabel"; - this.aadApplicationLabel.Size = new System.Drawing.Size(123, 20); + this.aadApplicationLabel.Size = new System.Drawing.Size(83, 13); this.aadApplicationLabel.TabIndex = 34; this.aadApplicationLabel.Text = "AAD application"; // @@ -333,29 +321,26 @@ namespace RecurringIntegrationsScheduler.Forms // this.aadApplicationComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.aadApplicationComboBox.FormattingEnabled = true; - this.aadApplicationComboBox.Location = new System.Drawing.Point(159, 155); - this.aadApplicationComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.aadApplicationComboBox.Location = new System.Drawing.Point(106, 101); this.aadApplicationComboBox.Name = "aadApplicationComboBox"; - this.aadApplicationComboBox.Size = new System.Drawing.Size(174, 28); + this.aadApplicationComboBox.Size = new System.Drawing.Size(117, 21); this.aadApplicationComboBox.TabIndex = 33; // // authMethodPanel // this.authMethodPanel.Controls.Add(this.serviceAuthRadioButton); this.authMethodPanel.Controls.Add(this.userAuthRadioButton); - this.authMethodPanel.Location = new System.Drawing.Point(12, 106); - this.authMethodPanel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.authMethodPanel.Location = new System.Drawing.Point(8, 69); this.authMethodPanel.Name = "authMethodPanel"; - this.authMethodPanel.Size = new System.Drawing.Size(321, 38); + this.authMethodPanel.Size = new System.Drawing.Size(214, 25); this.authMethodPanel.TabIndex = 31; // // serviceAuthRadioButton // this.serviceAuthRadioButton.AutoSize = true; - this.serviceAuthRadioButton.Location = new System.Drawing.Point(177, 5); - this.serviceAuthRadioButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.serviceAuthRadioButton.Location = new System.Drawing.Point(118, 3); this.serviceAuthRadioButton.Name = "serviceAuthRadioButton"; - this.serviceAuthRadioButton.Size = new System.Drawing.Size(122, 24); + this.serviceAuthRadioButton.Size = new System.Drawing.Size(85, 17); this.serviceAuthRadioButton.TabIndex = 16; this.serviceAuthRadioButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Service_auth; this.serviceAuthRadioButton.UseVisualStyleBackColor = true; @@ -365,10 +350,9 @@ namespace RecurringIntegrationsScheduler.Forms // this.userAuthRadioButton.AutoSize = true; this.userAuthRadioButton.Checked = true; - this.userAuthRadioButton.Location = new System.Drawing.Point(4, 5); - this.userAuthRadioButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.userAuthRadioButton.Location = new System.Drawing.Point(3, 3); this.userAuthRadioButton.Name = "userAuthRadioButton"; - this.userAuthRadioButton.Size = new System.Drawing.Size(104, 24); + this.userAuthRadioButton.Size = new System.Drawing.Size(71, 17); this.userAuthRadioButton.TabIndex = 15; this.userAuthRadioButton.TabStop = true; this.userAuthRadioButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.User_auth; @@ -377,10 +361,9 @@ namespace RecurringIntegrationsScheduler.Forms // dataJobLabel // this.dataJobLabel.AutoSize = true; - this.dataJobLabel.Location = new System.Drawing.Point(30, 71); - this.dataJobLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.dataJobLabel.Location = new System.Drawing.Point(20, 46); this.dataJobLabel.Name = "dataJobLabel"; - this.dataJobLabel.Size = new System.Drawing.Size(69, 20); + this.dataJobLabel.Size = new System.Drawing.Size(47, 13); this.dataJobLabel.TabIndex = 22; this.dataJobLabel.Text = "Data job"; // @@ -388,19 +371,17 @@ namespace RecurringIntegrationsScheduler.Forms // this.dataJobComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.dataJobComboBox.FormattingEnabled = true; - this.dataJobComboBox.Location = new System.Drawing.Point(114, 66); - this.dataJobComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.dataJobComboBox.Location = new System.Drawing.Point(76, 43); this.dataJobComboBox.Name = "dataJobComboBox"; - this.dataJobComboBox.Size = new System.Drawing.Size(218, 28); + this.dataJobComboBox.Size = new System.Drawing.Size(147, 21); this.dataJobComboBox.TabIndex = 11; // // userLabel // this.userLabel.AutoSize = true; - this.userLabel.Location = new System.Drawing.Point(98, 198); - this.userLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.userLabel.Location = new System.Drawing.Point(65, 129); this.userLabel.Name = "userLabel"; - this.userLabel.Size = new System.Drawing.Size(43, 20); + this.userLabel.Size = new System.Drawing.Size(29, 13); this.userLabel.TabIndex = 19; this.userLabel.Text = "User"; // @@ -408,19 +389,17 @@ namespace RecurringIntegrationsScheduler.Forms // this.userComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.userComboBox.FormattingEnabled = true; - this.userComboBox.Location = new System.Drawing.Point(159, 195); - this.userComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.userComboBox.Location = new System.Drawing.Point(106, 127); this.userComboBox.Name = "userComboBox"; - this.userComboBox.Size = new System.Drawing.Size(174, 28); + this.userComboBox.Size = new System.Drawing.Size(117, 21); this.userComboBox.TabIndex = 10; // // instanceLabel // this.instanceLabel.AutoSize = true; - this.instanceLabel.Location = new System.Drawing.Point(30, 31); - this.instanceLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.instanceLabel.Location = new System.Drawing.Point(20, 20); this.instanceLabel.Name = "instanceLabel"; - this.instanceLabel.Size = new System.Drawing.Size(71, 20); + this.instanceLabel.Size = new System.Drawing.Size(48, 13); this.instanceLabel.TabIndex = 16; this.instanceLabel.Text = "Instance"; // @@ -428,14 +407,14 @@ namespace RecurringIntegrationsScheduler.Forms // this.instanceComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.instanceComboBox.FormattingEnabled = true; - this.instanceComboBox.Location = new System.Drawing.Point(114, 26); - this.instanceComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.instanceComboBox.Location = new System.Drawing.Point(76, 17); this.instanceComboBox.Name = "instanceComboBox"; - this.instanceComboBox.Size = new System.Drawing.Size(218, 28); + this.instanceComboBox.Size = new System.Drawing.Size(147, 21); this.instanceComboBox.TabIndex = 9; // // recurrenceGroupBox // + this.recurrenceGroupBox.Controls.Add(this.pauseIndefinitelyCheckBox); this.recurrenceGroupBox.Controls.Add(this.moreExamplesButton); this.recurrenceGroupBox.Controls.Add(this.calculatedRunsTextBox); this.recurrenceGroupBox.Controls.Add(this.calculateNextRunsButton); @@ -452,21 +431,29 @@ namespace RecurringIntegrationsScheduler.Forms this.recurrenceGroupBox.Controls.Add(this.startAtDateTimePicker); this.recurrenceGroupBox.Controls.Add(this.minutesDateTimePicker); this.recurrenceGroupBox.Controls.Add(this.hoursDateTimePicker); - this.recurrenceGroupBox.Location = new System.Drawing.Point(372, 20); - this.recurrenceGroupBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.recurrenceGroupBox.Location = new System.Drawing.Point(248, 13); this.recurrenceGroupBox.Name = "recurrenceGroupBox"; - this.recurrenceGroupBox.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.recurrenceGroupBox.Size = new System.Drawing.Size(345, 668); + this.recurrenceGroupBox.Size = new System.Drawing.Size(230, 455); this.recurrenceGroupBox.TabIndex = 2; this.recurrenceGroupBox.TabStop = false; this.recurrenceGroupBox.Text = "Recurrence"; // + // pauseIndefinitelyCheckBox + // + this.pauseIndefinitelyCheckBox.AutoSize = true; + this.pauseIndefinitelyCheckBox.Location = new System.Drawing.Point(9, 20); + this.pauseIndefinitelyCheckBox.Margin = new System.Windows.Forms.Padding(2); + this.pauseIndefinitelyCheckBox.Name = "pauseIndefinitelyCheckBox"; + this.pauseIndefinitelyCheckBox.Size = new System.Drawing.Size(125, 17); + this.pauseIndefinitelyCheckBox.TabIndex = 0; + this.pauseIndefinitelyCheckBox.Text = "Pause job indefinitely"; + this.pauseIndefinitelyCheckBox.UseVisualStyleBackColor = true; + // // moreExamplesButton // - this.moreExamplesButton.Location = new System.Drawing.Point(237, 534); - this.moreExamplesButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.moreExamplesButton.Location = new System.Drawing.Point(158, 370); this.moreExamplesButton.Name = "moreExamplesButton"; - this.moreExamplesButton.Size = new System.Drawing.Size(99, 102); + this.moreExamplesButton.Size = new System.Drawing.Size(66, 66); this.moreExamplesButton.TabIndex = 19; this.moreExamplesButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.More_examples; this.moreExamplesButton.UseVisualStyleBackColor = true; @@ -475,22 +462,20 @@ namespace RecurringIntegrationsScheduler.Forms // calculatedRunsTextBox // this.calculatedRunsTextBox.BackColor = System.Drawing.SystemColors.Control; - this.calculatedRunsTextBox.Location = new System.Drawing.Point(9, 534); - this.calculatedRunsTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.calculatedRunsTextBox.Location = new System.Drawing.Point(6, 370); this.calculatedRunsTextBox.Multiline = true; this.calculatedRunsTextBox.Name = "calculatedRunsTextBox"; this.calculatedRunsTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.calculatedRunsTextBox.Size = new System.Drawing.Size(216, 99); + this.calculatedRunsTextBox.Size = new System.Drawing.Size(145, 66); this.calculatedRunsTextBox.TabIndex = 32; this.calculatedRunsTextBox.TabStop = false; // // calculateNextRunsButton // this.calculateNextRunsButton.Enabled = false; - this.calculateNextRunsButton.Location = new System.Drawing.Point(9, 485); - this.calculateNextRunsButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.calculateNextRunsButton.Location = new System.Drawing.Point(6, 338); this.calculateNextRunsButton.Name = "calculateNextRunsButton"; - this.calculateNextRunsButton.Size = new System.Drawing.Size(327, 35); + this.calculateNextRunsButton.Size = new System.Drawing.Size(218, 23); this.calculateNextRunsButton.TabIndex = 18; this.calculateNextRunsButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Calculate_next_100_runs_of_cron_trigger; this.calculateNextRunsButton.UseVisualStyleBackColor = true; @@ -499,10 +484,9 @@ namespace RecurringIntegrationsScheduler.Forms // cronDocsLinkLabel // this.cronDocsLinkLabel.AutoSize = true; - this.cronDocsLinkLabel.Location = new System.Drawing.Point(9, 454); - this.cronDocsLinkLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.cronDocsLinkLabel.Location = new System.Drawing.Point(6, 318); this.cronDocsLinkLabel.Name = "cronDocsLinkLabel"; - this.cronDocsLinkLabel.Size = new System.Drawing.Size(259, 20); + this.cronDocsLinkLabel.Size = new System.Drawing.Size(172, 13); this.cronDocsLinkLabel.TabIndex = 30; this.cronDocsLinkLabel.TabStop = true; this.cronDocsLinkLabel.Text = "Quartz cron triggers documentation"; @@ -512,19 +496,17 @@ namespace RecurringIntegrationsScheduler.Forms // this.triggerTypePanel.Controls.Add(this.cronTriggerRadioButton); this.triggerTypePanel.Controls.Add(this.simpleTriggerRadioButton); - this.triggerTypePanel.Location = new System.Drawing.Point(14, 69); - this.triggerTypePanel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.triggerTypePanel.Location = new System.Drawing.Point(9, 68); this.triggerTypePanel.Name = "triggerTypePanel"; - this.triggerTypePanel.Size = new System.Drawing.Size(321, 37); + this.triggerTypePanel.Size = new System.Drawing.Size(214, 24); this.triggerTypePanel.TabIndex = 29; // // cronTriggerRadioButton // this.cronTriggerRadioButton.AutoSize = true; - this.cronTriggerRadioButton.Location = new System.Drawing.Point(194, 8); - this.cronTriggerRadioButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.cronTriggerRadioButton.Location = new System.Drawing.Point(129, 5); this.cronTriggerRadioButton.Name = "cronTriggerRadioButton"; - this.cronTriggerRadioButton.Size = new System.Drawing.Size(117, 24); + this.cronTriggerRadioButton.Size = new System.Drawing.Size(79, 17); this.cronTriggerRadioButton.TabIndex = 16; this.cronTriggerRadioButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Cron_trigger; this.cronTriggerRadioButton.UseVisualStyleBackColor = true; @@ -534,10 +516,9 @@ namespace RecurringIntegrationsScheduler.Forms // this.simpleTriggerRadioButton.AutoSize = true; this.simpleTriggerRadioButton.Checked = true; - this.simpleTriggerRadioButton.Location = new System.Drawing.Point(4, 5); - this.simpleTriggerRadioButton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.simpleTriggerRadioButton.Location = new System.Drawing.Point(3, 3); this.simpleTriggerRadioButton.Name = "simpleTriggerRadioButton"; - this.simpleTriggerRadioButton.Size = new System.Drawing.Size(131, 24); + this.simpleTriggerRadioButton.Size = new System.Drawing.Size(88, 17); this.simpleTriggerRadioButton.TabIndex = 15; this.simpleTriggerRadioButton.TabStop = true; this.simpleTriggerRadioButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Simple_trigger; @@ -546,10 +527,9 @@ namespace RecurringIntegrationsScheduler.Forms // buildCronLabel // this.buildCronLabel.AutoSize = true; - this.buildCronLabel.Location = new System.Drawing.Point(9, 422); - this.buildCronLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.buildCronLabel.Location = new System.Drawing.Point(6, 297); this.buildCronLabel.Name = "buildCronLabel"; - this.buildCronLabel.Size = new System.Drawing.Size(177, 20); + this.buildCronLabel.Size = new System.Drawing.Size(119, 13); this.buildCronLabel.TabIndex = 26; this.buildCronLabel.Text = "Build cron expression at"; // @@ -557,11 +537,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.cronTriggerInfoTextBox.BackColor = System.Drawing.SystemColors.Control; this.cronTriggerInfoTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.cronTriggerInfoTextBox.Location = new System.Drawing.Point(14, 178); - this.cronTriggerInfoTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.cronTriggerInfoTextBox.Location = new System.Drawing.Point(9, 139); this.cronTriggerInfoTextBox.Multiline = true; this.cronTriggerInfoTextBox.Name = "cronTriggerInfoTextBox"; - this.cronTriggerInfoTextBox.Size = new System.Drawing.Size(312, 238); + this.cronTriggerInfoTextBox.Size = new System.Drawing.Size(208, 155); this.cronTriggerInfoTextBox.TabIndex = 25; this.cronTriggerInfoTextBox.TabStop = false; this.cronTriggerInfoTextBox.Text = resources.GetString("cronTriggerInfoTextBox.Text"); @@ -569,10 +548,9 @@ namespace RecurringIntegrationsScheduler.Forms // cronmakerLinkLabel // this.cronmakerLinkLabel.AutoSize = true; - this.cronmakerLinkLabel.Location = new System.Drawing.Point(186, 422); - this.cronmakerLinkLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.cronmakerLinkLabel.Location = new System.Drawing.Point(124, 297); this.cronmakerLinkLabel.Name = "cronmakerLinkLabel"; - this.cronmakerLinkLabel.Size = new System.Drawing.Size(118, 20); + this.cronmakerLinkLabel.Size = new System.Drawing.Size(80, 13); this.cronmakerLinkLabel.TabIndex = 24; this.cronmakerLinkLabel.TabStop = true; this.cronmakerLinkLabel.Text = "cronmaker.com"; @@ -581,30 +559,28 @@ namespace RecurringIntegrationsScheduler.Forms // cronExpressionLabel // this.cronExpressionLabel.AutoSize = true; - this.cronExpressionLabel.Location = new System.Drawing.Point(9, 114); - this.cronExpressionLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.cronExpressionLabel.Location = new System.Drawing.Point(6, 97); this.cronExpressionLabel.Name = "cronExpressionLabel"; - this.cronExpressionLabel.Size = new System.Drawing.Size(123, 20); + this.cronExpressionLabel.Size = new System.Drawing.Size(82, 13); this.cronExpressionLabel.TabIndex = 23; this.cronExpressionLabel.Text = "Cron expression"; // // cronExpressionTextBox // this.cronExpressionTextBox.Enabled = false; - this.cronExpressionTextBox.Location = new System.Drawing.Point(14, 138); - this.cronExpressionTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.cronExpressionTextBox.Location = new System.Drawing.Point(9, 113); this.cronExpressionTextBox.Name = "cronExpressionTextBox"; - this.cronExpressionTextBox.Size = new System.Drawing.Size(320, 26); + this.cronExpressionTextBox.Size = new System.Drawing.Size(215, 20); this.cronExpressionTextBox.TabIndex = 17; this.cronExpressionTextBox.Text = "0 0/15 8-18 ? * MON-FRI *"; // // minutesLabel // this.minutesLabel.AutoSize = true; - this.minutesLabel.Location = new System.Drawing.Point(96, 34); + this.minutesLabel.Location = new System.Drawing.Point(64, 45); this.minutesLabel.Margin = new System.Windows.Forms.Padding(0); this.minutesLabel.Name = "minutesLabel"; - this.minutesLabel.Size = new System.Drawing.Size(26, 20); + this.minutesLabel.Size = new System.Drawing.Size(19, 13); this.minutesLabel.TabIndex = 5; this.minutesLabel.Text = "M:"; this.minutesLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -612,10 +588,10 @@ namespace RecurringIntegrationsScheduler.Forms // hoursLabel // this.hoursLabel.AutoSize = true; - this.hoursLabel.Location = new System.Drawing.Point(9, 34); + this.hoursLabel.Location = new System.Drawing.Point(6, 45); this.hoursLabel.Margin = new System.Windows.Forms.Padding(0); this.hoursLabel.Name = "hoursLabel"; - this.hoursLabel.Size = new System.Drawing.Size(25, 20); + this.hoursLabel.Size = new System.Drawing.Size(18, 13); this.hoursLabel.TabIndex = 4; this.hoursLabel.Text = "H:"; this.hoursLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -623,10 +599,9 @@ namespace RecurringIntegrationsScheduler.Forms // startAtLabel // this.startAtLabel.AutoSize = true; - this.startAtLabel.Location = new System.Drawing.Point(189, 34); - this.startAtLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.startAtLabel.Location = new System.Drawing.Point(126, 45); this.startAtLabel.Name = "startAtLabel"; - this.startAtLabel.Size = new System.Drawing.Size(59, 20); + this.startAtLabel.Size = new System.Drawing.Size(39, 13); this.startAtLabel.TabIndex = 3; this.startAtLabel.Text = "start at"; this.startAtLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -635,11 +610,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.startAtDateTimePicker.CustomFormat = "HH:mm"; this.startAtDateTimePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.startAtDateTimePicker.Location = new System.Drawing.Point(248, 29); - this.startAtDateTimePicker.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.startAtDateTimePicker.Location = new System.Drawing.Point(165, 42); this.startAtDateTimePicker.Name = "startAtDateTimePicker"; this.startAtDateTimePicker.ShowUpDown = true; - this.startAtDateTimePicker.Size = new System.Drawing.Size(76, 26); + this.startAtDateTimePicker.Size = new System.Drawing.Size(52, 20); this.startAtDateTimePicker.TabIndex = 14; this.startAtDateTimePicker.Value = new System.DateTime(2016, 6, 26, 0, 0, 0, 0); // @@ -647,11 +621,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.minutesDateTimePicker.CustomFormat = "mm"; this.minutesDateTimePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.minutesDateTimePicker.Location = new System.Drawing.Point(124, 29); - this.minutesDateTimePicker.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.minutesDateTimePicker.Location = new System.Drawing.Point(83, 42); this.minutesDateTimePicker.Name = "minutesDateTimePicker"; this.minutesDateTimePicker.ShowUpDown = true; - this.minutesDateTimePicker.Size = new System.Drawing.Size(50, 26); + this.minutesDateTimePicker.Size = new System.Drawing.Size(35, 20); this.minutesDateTimePicker.TabIndex = 13; this.minutesDateTimePicker.Value = new System.DateTime(2016, 6, 26, 0, 1, 0, 0); // @@ -659,11 +632,10 @@ namespace RecurringIntegrationsScheduler.Forms // this.hoursDateTimePicker.CustomFormat = "HH"; this.hoursDateTimePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.hoursDateTimePicker.Location = new System.Drawing.Point(36, 29); - this.hoursDateTimePicker.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.hoursDateTimePicker.Location = new System.Drawing.Point(24, 42); this.hoursDateTimePicker.Name = "hoursDateTimePicker"; this.hoursDateTimePicker.ShowUpDown = true; - this.hoursDateTimePicker.Size = new System.Drawing.Size(50, 26); + this.hoursDateTimePicker.Size = new System.Drawing.Size(35, 20); this.hoursDateTimePicker.TabIndex = 12; this.hoursDateTimePicker.Value = new System.DateTime(2016, 6, 26, 0, 0, 0, 0); // @@ -674,10 +646,9 @@ namespace RecurringIntegrationsScheduler.Forms this.bottomToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cancelButton, this.addJobButton}); - this.bottomToolStrip.Location = new System.Drawing.Point(0, 812); + this.bottomToolStrip.Location = new System.Drawing.Point(0, 535); this.bottomToolStrip.Name = "bottomToolStrip"; - this.bottomToolStrip.Padding = new System.Windows.Forms.Padding(0, 0, 2, 0); - this.bottomToolStrip.Size = new System.Drawing.Size(728, 32); + this.bottomToolStrip.Size = new System.Drawing.Size(489, 25); this.bottomToolStrip.TabIndex = 3; this.bottomToolStrip.Text = "toolStrip1"; // @@ -687,7 +658,7 @@ namespace RecurringIntegrationsScheduler.Forms this.cancelButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.cancelButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.cancelButton.Name = "cancelButton"; - this.cancelButton.Size = new System.Drawing.Size(67, 29); + this.cancelButton.Size = new System.Drawing.Size(47, 22); this.cancelButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Cancel; this.cancelButton.Click += new System.EventHandler(this.CancelButton_Click); // @@ -697,7 +668,7 @@ namespace RecurringIntegrationsScheduler.Forms this.addJobButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.addJobButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.addJobButton.Name = "addJobButton"; - this.addJobButton.Size = new System.Drawing.Size(146, 29); + this.addJobButton.Size = new System.Drawing.Size(97, 22); this.addJobButton.Text = global::RecurringIntegrationsScheduler.Properties.Resources.Add_to_schedule; this.addJobButton.Click += new System.EventHandler(this.AddJobButton_Click); // @@ -707,26 +678,23 @@ namespace RecurringIntegrationsScheduler.Forms this.retryPolicyGroupBox.Controls.Add(this.retriesCountUpDown); this.retryPolicyGroupBox.Controls.Add(this.label2); this.retryPolicyGroupBox.Controls.Add(this.label1); - this.retryPolicyGroupBox.Location = new System.Drawing.Point(372, 697); - this.retryPolicyGroupBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.retryPolicyGroupBox.Location = new System.Drawing.Point(248, 471); this.retryPolicyGroupBox.Name = "retryPolicyGroupBox"; - this.retryPolicyGroupBox.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.retryPolicyGroupBox.Size = new System.Drawing.Size(346, 103); + this.retryPolicyGroupBox.Size = new System.Drawing.Size(231, 67); this.retryPolicyGroupBox.TabIndex = 7; this.retryPolicyGroupBox.TabStop = false; this.retryPolicyGroupBox.Text = "Retry policy"; // // retriesDelayUpDown // - this.retriesDelayUpDown.Location = new System.Drawing.Point(150, 65); - this.retriesDelayUpDown.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.retriesDelayUpDown.Location = new System.Drawing.Point(100, 42); this.retriesDelayUpDown.Maximum = new decimal(new int[] { 86400, 0, 0, 0}); this.retriesDelayUpDown.Name = "retriesDelayUpDown"; - this.retriesDelayUpDown.Size = new System.Drawing.Size(99, 26); + this.retriesDelayUpDown.Size = new System.Drawing.Size(66, 20); this.retriesDelayUpDown.TabIndex = 7; this.retriesDelayUpDown.Value = new decimal(new int[] { 60, @@ -736,15 +704,14 @@ namespace RecurringIntegrationsScheduler.Forms // // retriesCountUpDown // - this.retriesCountUpDown.Location = new System.Drawing.Point(150, 28); - this.retriesCountUpDown.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.retriesCountUpDown.Location = new System.Drawing.Point(100, 18); this.retriesCountUpDown.Maximum = new decimal(new int[] { 9999, 0, 0, 0}); this.retriesCountUpDown.Name = "retriesCountUpDown"; - this.retriesCountUpDown.Size = new System.Drawing.Size(99, 26); + this.retriesCountUpDown.Size = new System.Drawing.Size(66, 20); this.retriesCountUpDown.TabIndex = 6; this.retriesCountUpDown.Value = new decimal(new int[] { 1, @@ -755,29 +722,29 @@ namespace RecurringIntegrationsScheduler.Forms // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(10, 68); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(7, 44); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(123, 20); + this.label2.Size = new System.Drawing.Size(83, 13); this.label2.TabIndex = 2; this.label2.Text = "Delay (seconds)"; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(10, 31); - this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Location = new System.Drawing.Point(7, 20); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(131, 20); + this.label1.Size = new System.Drawing.Size(87, 13); this.label1.TabIndex = 0; this.label1.Text = "Number of retries"; // // groupBoxExceptions // this.groupBoxExceptions.Controls.Add(this.pauseOnExceptionsCheckBox); - this.groupBoxExceptions.Location = new System.Drawing.Point(20, 737); + this.groupBoxExceptions.Location = new System.Drawing.Point(13, 479); + this.groupBoxExceptions.Margin = new System.Windows.Forms.Padding(2); this.groupBoxExceptions.Name = "groupBoxExceptions"; - this.groupBoxExceptions.Size = new System.Drawing.Size(345, 107); + this.groupBoxExceptions.Padding = new System.Windows.Forms.Padding(2); + this.groupBoxExceptions.Size = new System.Drawing.Size(230, 70); this.groupBoxExceptions.TabIndex = 10; this.groupBoxExceptions.TabStop = false; this.groupBoxExceptions.Text = "Exceptions"; @@ -787,19 +754,20 @@ namespace RecurringIntegrationsScheduler.Forms this.pauseOnExceptionsCheckBox.AutoSize = true; this.pauseOnExceptionsCheckBox.Checked = true; this.pauseOnExceptionsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.pauseOnExceptionsCheckBox.Location = new System.Drawing.Point(13, 26); + this.pauseOnExceptionsCheckBox.Location = new System.Drawing.Point(9, 17); + this.pauseOnExceptionsCheckBox.Margin = new System.Windows.Forms.Padding(2); this.pauseOnExceptionsCheckBox.Name = "pauseOnExceptionsCheckBox"; - this.pauseOnExceptionsCheckBox.Size = new System.Drawing.Size(270, 24); + this.pauseOnExceptionsCheckBox.Size = new System.Drawing.Size(186, 17); this.pauseOnExceptionsCheckBox.TabIndex = 0; this.pauseOnExceptionsCheckBox.Text = "Pause job when exception occurs"; this.pauseOnExceptionsCheckBox.UseVisualStyleBackColor = true; // // DownloadJob // - this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoSize = true; - this.ClientSize = new System.Drawing.Size(728, 844); + this.ClientSize = new System.Drawing.Size(489, 560); this.Controls.Add(this.bottomToolStrip); this.Controls.Add(this.groupBoxExceptions); this.Controls.Add(this.retryPolicyGroupBox); @@ -807,11 +775,10 @@ namespace RecurringIntegrationsScheduler.Forms this.Controls.Add(this.axDetailsGroupBox); this.Controls.Add(this.jobDetailsGroupBox); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(750, 900); + this.MaximumSize = new System.Drawing.Size(505, 599); this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(750, 900); + this.MinimumSize = new System.Drawing.Size(505, 599); this.Name = "DownloadJob"; this.ShowIcon = false; this.ShowInTaskbar = false; @@ -902,5 +869,6 @@ namespace RecurringIntegrationsScheduler.Forms private System.Windows.Forms.NumericUpDown retriesCountUpDown; private System.Windows.Forms.GroupBox groupBoxExceptions; private System.Windows.Forms.CheckBox pauseOnExceptionsCheckBox; + private System.Windows.Forms.CheckBox pauseIndefinitelyCheckBox; } } \ No newline at end of file diff --git a/Scheduler/Forms/DownloadJob.cs b/Scheduler/Forms/DownloadJob.cs index 1b39f31..221e5d8 100644 --- a/Scheduler/Forms/DownloadJob.cs +++ b/Scheduler/Forms/DownloadJob.cs @@ -208,6 +208,10 @@ namespace RecurringIntegrationsScheduler.Forms } instanceComboBox.SelectedItem = axInstance; + pauseIndefinitelyCheckBox.Checked = + (JobDetail.JobDataMap[SettingsConstants.IndefinitePause] != null) && + Convert.ToBoolean(JobDetail.JobDataMap[SettingsConstants.IndefinitePause].ToString()); + if (Trigger.GetType() == typeof(SimpleTriggerImpl)) { var localTrigger = (SimpleTriggerImpl) Trigger; @@ -404,7 +408,8 @@ namespace RecurringIntegrationsScheduler.Forms {SettingsConstants.DeletePackage, deletePackageCheckBox.Checked.ToString()}, {SettingsConstants.RetryCount, retriesCountUpDown.Value.ToString(CultureInfo.InvariantCulture)}, {SettingsConstants.RetryDelay, retriesDelayUpDown.Value.ToString(CultureInfo.InvariantCulture)}, - {SettingsConstants.PauseJobOnException, pauseOnExceptionsCheckBox.Checked.ToString()} + {SettingsConstants.PauseJobOnException, pauseOnExceptionsCheckBox.Checked.ToString()}, + {SettingsConstants.IndefinitePause, pauseIndefinitelyCheckBox.Checked.ToString()} }; if (serviceAuthRadioButton.Checked) { diff --git a/Scheduler/packages.config b/Scheduler/packages.config index 543a180..1ed3c91 100644 --- a/Scheduler/packages.config +++ b/Scheduler/packages.config @@ -4,5 +4,5 @@ - + \ No newline at end of file