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(); }