Пример #1
0
        public void saveScheduleDetails(JobScheduleDetailsModel schedule)
        {
            ConnectSqlServer connection  = new ConnectSqlServer();
            Server           dbServer    = connection.Connect(schedule.ServerName);
            Job         job              = dbServer.JobServer.GetJobByID(schedule.JobID);
            JobSchedule scheduleToUpdate = job.JobSchedules[schedule.ScheduleUID];

            if (schedule.Name != scheduleToUpdate.Name)
            {
                scheduleToUpdate.Rename(schedule.Name);
                scheduleToUpdate.Refresh();
            }

            scheduleToUpdate.IsEnabled = schedule.IsEnabled;

            switch (schedule.ScheduleFrequency)
            {
            case "OneTime":
                scheduleToUpdate.FrequencyTypes       = FrequencyTypes.OneTime;
                scheduleToUpdate.ActiveStartDate      = schedule.OneTimeStartDate;
                scheduleToUpdate.ActiveStartTimeOfDay = schedule.OneTimeStartTimeOfDay;
                break;

            case "Daily":
                scheduleToUpdate.FrequencyTypes    = FrequencyTypes.Daily;
                scheduleToUpdate.FrequencyInterval = schedule.DailyRecursEvery;
                scheduleToUpdate = setCommon(scheduleToUpdate, schedule);
                break;

            case "Weekly":
                scheduleToUpdate.FrequencyTypes            = FrequencyTypes.Weekly;
                scheduleToUpdate.FrequencyRecurrenceFactor = schedule.WeeklyRecursEvery;
                scheduleToUpdate.FrequencyInterval         = 0;
                if (schedule.WeeklySunday)
                {
                    scheduleToUpdate.FrequencyInterval = +1;
                }
                if (schedule.WeeklyMonday)
                {
                    scheduleToUpdate.FrequencyInterval = +2;
                }
                if (schedule.WeeklyTuesday)
                {
                    scheduleToUpdate.FrequencyInterval = +4;
                }
                if (schedule.WeeklyWednesday)
                {
                    scheduleToUpdate.FrequencyInterval = +8;
                }
                if (schedule.WeeklyThursday)
                {
                    scheduleToUpdate.FrequencyInterval = +16;
                }
                if (schedule.WeeklyFriday)
                {
                    scheduleToUpdate.FrequencyInterval = +32;
                }
                if (schedule.WeeklySaturday)
                {
                    scheduleToUpdate.FrequencyInterval = +64;
                }
                scheduleToUpdate = setCommon(scheduleToUpdate, schedule);
                break;

            case "Monthly":
                scheduleToUpdate.FrequencyTypes            = FrequencyTypes.Monthly;
                scheduleToUpdate.FrequencyRecurrenceFactor = schedule.MonthlyFrequency;
                scheduleToUpdate.FrequencyInterval         = schedule.MonthlyDayNo;
                scheduleToUpdate = setCommon(scheduleToUpdate, schedule);
                break;

            case "MonthlyRelative":
                scheduleToUpdate.FrequencyTypes = FrequencyTypes.MonthlyRelative;
                if (schedule.MonthlyRelativeSubFreq == "Sunday")
                {
                    scheduleToUpdate.FrequencyInterval = 1;
                }
                if (schedule.MonthlyRelativeSubFreq == "Monday")
                {
                    scheduleToUpdate.FrequencyInterval = 2;
                }
                if (schedule.MonthlyRelativeSubFreq == "Tuesday")
                {
                    scheduleToUpdate.FrequencyInterval = 3;
                }
                if (schedule.MonthlyRelativeSubFreq == "Wednesday")
                {
                    scheduleToUpdate.FrequencyInterval = 4;
                }
                if (schedule.MonthlyRelativeSubFreq == "Thursday")
                {
                    scheduleToUpdate.FrequencyInterval = 5;
                }
                if (schedule.MonthlyRelativeSubFreq == "Friday")
                {
                    scheduleToUpdate.FrequencyInterval = 6;
                }
                if (schedule.MonthlyRelativeSubFreq == "Saturday")
                {
                    scheduleToUpdate.FrequencyInterval = 7;
                }
                if (schedule.MonthlyRelativeSubFreq == "Weekdays")
                {
                    scheduleToUpdate.FrequencyInterval = 9;
                }
                if (schedule.MonthlyRelativeSubFreq == "WeekEnds")
                {
                    scheduleToUpdate.FrequencyInterval = 10;
                }
                if (schedule.MonthlyRelativeSubFreq == "EveryDay")
                {
                    scheduleToUpdate.FrequencyInterval = 8;
                }
                switch (schedule.MonthlyRelativeSubFreq)
                {
                case "First":
                    scheduleToUpdate.FrequencyRelativeIntervals = FrequencyRelativeIntervals.First;
                    break;

                case "Second":
                    scheduleToUpdate.FrequencyRelativeIntervals = FrequencyRelativeIntervals.Second;
                    break;

                case "Third":
                    scheduleToUpdate.FrequencyRelativeIntervals = FrequencyRelativeIntervals.Third;
                    break;

                case "Fourth":
                    scheduleToUpdate.FrequencyRelativeIntervals = FrequencyRelativeIntervals.Fourth;
                    break;

                case "Last":
                    scheduleToUpdate.FrequencyRelativeIntervals = FrequencyRelativeIntervals.Last;
                    break;
                }
                scheduleToUpdate.FrequencyRecurrenceFactor = schedule.MonthlyRelativeFreq;
                scheduleToUpdate = setCommon(scheduleToUpdate, schedule);
                break;

            case "AutoStart":
                scheduleToUpdate.FrequencyTypes             = FrequencyTypes.AutoStart;
                scheduleToUpdate.FrequencyInterval          = 0;
                scheduleToUpdate.FrequencyRecurrenceFactor  = 0;
                scheduleToUpdate.FrequencyRelativeIntervals = 0;
                scheduleToUpdate.FrequencySubDayInterval    = 0;
                scheduleToUpdate.FrequencySubDayTypes       = FrequencySubDayTypes.Unknown;
                break;

            case "OnIdle":
                scheduleToUpdate.FrequencyTypes             = FrequencyTypes.OneTime;
                scheduleToUpdate.FrequencyInterval          = 0;
                scheduleToUpdate.FrequencyRecurrenceFactor  = 0;
                scheduleToUpdate.FrequencyRelativeIntervals = 0;
                scheduleToUpdate.FrequencySubDayInterval    = 0;
                scheduleToUpdate.FrequencySubDayTypes       = FrequencySubDayTypes.Unknown;
                break;
            }

            scheduleToUpdate.Alter();
            scheduleToUpdate.Refresh();
        }