/// <summary> /// Shows the service app details. /// </summary> /// <param name="serviceApp">The service app.</param> /// <param name="isReadOnly">If set to <c>true</c> show the details as read only.</param> private void ShowServiceAppDetails(ServiceApp serviceApp, bool isReadOnly) { if (serviceApp == null) { serviceApp = new Models.ServiceApp { StartupTypeEnum = Enums.StartupType.NotSet, Schedule = string.Empty }; } this.ServiceAppNameLabel.Content = this.ServiceAppNameTextBox.Text = serviceApp.Name; this.MessageLabel.Text = serviceApp.LastMessage; this.StartServiceAppButton.IsEnabled = serviceApp.CanStart && isReadOnly; this.StopServiceAppButton.IsEnabled = serviceApp.CanStop && isReadOnly; this.RunButton.IsEnabled = serviceApp.CanRun && isReadOnly; this.StartupTypeLabel.Text = serviceApp.StartupTypeEnum.GetName(); this.StartupTypeComboBox.SelectedValue = serviceApp.StartupTypeEnum; this.ServiceAppDescriptionLabel.Text = this.DescriptionTextBox.Text = serviceApp.Description; this.ServiceAppEnvironmentLabel.Text = this.ServiceAppEnvironmentTextBox.Text = serviceApp.Environment; this.ServiceAppParameterLabel.Text = this.ParameterTextBox.Text = serviceApp.Parameters; this.AppFilePathLabel.Text = this.AppFilePathTextBox.Text = serviceApp.AppFilePath; this.AppFilePathViewButton.IsEnabled = !string.IsNullOrWhiteSpace(serviceApp.AppFilePath); this.SendSuccessCheckBox.IsChecked = serviceApp.SendSuccessNotification; this.IdentityLabel.Text = this.IdentityLabel.Text = serviceApp.Username; this.PasswordHiddenLabel.Text = serviceApp.Password; this.ScheduleLabel.Text = ScheduleUtility.GetFullDescription(serviceApp.Schedule); this.ScheduleHiddenLabel.Text = serviceApp.Schedule; this.EditServiceAppButton.IsEnabled = !serviceApp.CanRun; this.EditMessageTextBlock.Text = serviceApp.CanRun ? "Stop the app before making changes" : null; }
/// <summary> /// Handles the Click event of the ScheduleSelectButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private void ScheduleSelectButton_Click(object sender, RoutedEventArgs e) { ScheduleWindow scheduleWindow = new ScheduleWindow(); scheduleWindow.UpdateWith(!string.IsNullOrWhiteSpace(this.ScheduleHiddenLabel.Text) ? this.ScheduleHiddenLabel.Text : ScheduleUtility.DefaultCrontab); if (scheduleWindow.ShowDialog() == true) { this.ScheduleHiddenLabel.Text = scheduleWindow.Schedule; this.ScheduleLabel.Text = ScheduleUtility.GetFullDescription(scheduleWindow.Schedule); } }
public void GetFullDescription_EveryFewHoursAtASetMinute() { string desc = ScheduleUtility.GetFullDescription("15 */4 * * *"); Assert.AreEqual("Every 4 hours, at 15 minutes", desc); }
public void GetFullDescription_EveryFewHoursEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* */4 * * *"); Assert.AreEqual("Every 4 hours, every minute", desc); }
public void GetFullDescription_AtSetMinutes() { string desc = ScheduleUtility.GetFullDescription("5,10,11-15,30 * * * *"); Assert.AreEqual("Every hour, at 5,10-15,30 minutes", desc); }
public void GetFullDescription_EveryFewMintues() { string desc = ScheduleUtility.GetFullDescription("*/3 * * * *"); Assert.AreEqual("Every 3 minutes", desc); }
public void GetFullDescription_AtSetDaysEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* * 1-3,11,15,22 * *"); Assert.AreEqual("Every month, on the 1st-3rd,11th,15th,22nd days, every minute", desc); }
public void GetFullDescription_AtSetTimesEveryDay() { string desc = ScheduleUtility.GetFullDescription("0,20 0,12-14 * * *"); Assert.AreEqual("Every day, at 00:00,00:20,12:00,12:20-14:00,14:20", desc); }
public void GetFullDescription_FullEveryTest() { string desc = ScheduleUtility.GetFullDescription("*/5 */5 */5 */5 */5"); Assert.AreEqual("On Sunday,Friday, every 5 months, every 5 days, every 5 hours, every 5 minutes", desc); }
public void GetFullDescription_AtSpecificDaysOfTheWeekEveryOddDay() { string desc = ScheduleUtility.GetFullDescription("* * */5 * 1-3,5,6"); Assert.AreEqual("On Monday-Wednesday,Friday-Saturday, every 5 days, every minute", desc); }
public void GetFullDescription_EveryOtherDayOfTheWeekEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* * * * */2"); Assert.AreEqual("On Sunday,Tuesday,Thursday,Saturday, every minute", desc); }
public void GetFullDescription_AtSetMonthsEveryFewHoursEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* */3 * 1,2,7-9,12 *"); Assert.AreEqual("Any day of the week, in January-February,July-September,December, every 3 hours, every minute", desc); }
public void GetFullDescription_AtASetMonthEveryFewHoursEveryMinute() { string desc = ScheduleUtility.GetFullDescription("*/10 * * 5 *"); Assert.AreEqual("Any day of the week, in May, every 10 minutes", desc); }
public void GetFullDescription_EveryFewMonthsEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* * * */2 *"); Assert.AreEqual("Every 2 months, every minute", desc); }
public void GetFullDescription_DoesNotBreakOnEmptyOrInvalid() { string desc = ScheduleUtility.GetFullDescription(string.Empty); Assert.IsTrue(true, "No crash"); }
public void GetFullDescription_AtASetHourEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* 6 * * *"); Assert.AreEqual("Every day, at 6am, every minute", desc); }
public void GetFullDescription_AtSetHoursEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* 0,8,12-16 * * *"); Assert.AreEqual("Every day, at midnight,8am,12pm-4pm, every minute", desc); }
public void GetFullDescription_AlternatingSetValues() { string desc = ScheduleUtility.GetFullDescription("4-6 * 4-6 * 4-6"); Assert.AreEqual("On Thursday-Saturday, every month, on the 4th-6th day, every hour, at 4-6 minutes", desc); }
/// <summary> /// Updates the description. /// </summary> private void UpdateDescription() { this.DescriptionLabel.Text = ScheduleUtility.GetFullDescription(this.Schedule); this.ScheduleCalendar.Schedule = this.Schedule; }
public void GetFullDescription_ThatBizarrelySpecificDayOfTheYearThatWillRunOnceEverySevenYears() { string desc = ScheduleUtility.GetFullDescription("30 16 24 4 5"); Assert.AreEqual("On Friday, in April, on the 24th day, at 16:30", desc); }
public void GetFullDescription_ReturnsDescriptionForDefaultSchedule() { string desc = ScheduleUtility.GetFullDescription("* * * * *"); Assert.AreEqual(ScheduleUtility.AnyTimeDescription, desc); }
public void GetFullDescription_AtASetDayEveryFewHoursEveryMinute() { string desc = ScheduleUtility.GetFullDescription("* */3 18 * *"); Assert.AreEqual("Every month, on the 18th day, every 3 hours, every minute", desc); }