Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
        public void GetFullDescription_EveryFewHoursAtASetMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("15 */4 * * *");

            Assert.AreEqual("Every 4 hours, at 15 minutes", desc);
        }
Beispiel #4
0
        public void GetFullDescription_EveryFewHoursEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* */4 * * *");

            Assert.AreEqual("Every 4 hours, every minute", desc);
        }
Beispiel #5
0
        public void GetFullDescription_AtSetMinutes()
        {
            string desc = ScheduleUtility.GetFullDescription("5,10,11-15,30 * * * *");

            Assert.AreEqual("Every hour, at 5,10-15,30 minutes", desc);
        }
Beispiel #6
0
        public void GetFullDescription_EveryFewMintues()
        {
            string desc = ScheduleUtility.GetFullDescription("*/3 * * * *");

            Assert.AreEqual("Every 3 minutes", desc);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        public void GetFullDescription_EveryOtherDayOfTheWeekEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* * * * */2");

            Assert.AreEqual("On Sunday,Tuesday,Thursday,Saturday, every minute", desc);
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        public void GetFullDescription_AtASetMonthEveryFewHoursEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("*/10 * * 5 *");

            Assert.AreEqual("Any day of the week, in May, every 10 minutes", desc);
        }
Beispiel #14
0
        public void GetFullDescription_EveryFewMonthsEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* * * */2 *");

            Assert.AreEqual("Every 2 months, every minute", desc);
        }
Beispiel #15
0
        public void GetFullDescription_DoesNotBreakOnEmptyOrInvalid()
        {
            string desc = ScheduleUtility.GetFullDescription(string.Empty);

            Assert.IsTrue(true, "No crash");
        }
Beispiel #16
0
        public void GetFullDescription_AtASetHourEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* 6 * * *");

            Assert.AreEqual("Every day, at 6am, every minute", desc);
        }
Beispiel #17
0
        public void GetFullDescription_AtSetHoursEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* 0,8,12-16 * * *");

            Assert.AreEqual("Every day, at midnight,8am,12pm-4pm, every minute", desc);
        }
Beispiel #18
0
        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);
        }
Beispiel #19
0
 /// <summary>
 /// Updates the description.
 /// </summary>
 private void UpdateDescription()
 {
     this.DescriptionLabel.Text     = ScheduleUtility.GetFullDescription(this.Schedule);
     this.ScheduleCalendar.Schedule = this.Schedule;
 }
Beispiel #20
0
        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);
        }
Beispiel #21
0
        public void GetFullDescription_ReturnsDescriptionForDefaultSchedule()
        {
            string desc = ScheduleUtility.GetFullDescription("* * * * *");

            Assert.AreEqual(ScheduleUtility.AnyTimeDescription, desc);
        }
Beispiel #22
0
        public void GetFullDescription_AtASetDayEveryFewHoursEveryMinute()
        {
            string desc = ScheduleUtility.GetFullDescription("* */3 18 * *");

            Assert.AreEqual("Every month, on the 18th day, every 3 hours, every minute", desc);
        }