private JobScheduleFrequencyBase GetJobScheduleFrequency() { JobScheduleFrequencyBase jobScheduleFrequency = null; var timeFrequency = GetTimeFrequency(); string frequencyType = this.ddlFrequency.Items[ddlFrequency.SelectedIndex].Value; switch (frequencyType) { case "daily": int dayCount = int.Parse(txtRecurDay.Value); jobScheduleFrequency = new DailyJobScheduleFrequency(dayCount, timeFrequency); break; case "weekly": List <DayOfWeek> weekdays = GetSelectedWeekday(); jobScheduleFrequency = new WeeklyJobScheduleFrequency(weekdays, int.Parse(txtWeek.Value), timeFrequency); break; case "monthly": int days = int.Parse(this.txtDayOfWeek.Value); int months = int.Parse(this.txtMonthCount.Value); jobScheduleFrequency = new MonthlyJobScheduleFrequency(days, months, timeFrequency); break; default: break; } //jobScheduleFrequency.LastModifyTime = DateTime.Now; return(jobScheduleFrequency); }
public void EstimateWeekIntervalWeeklyFixdTimeJobScheduleFrequencyTest() { WeeklyJobScheduleFrequency weeklyFrequency = PrepareWeeklyJobSchedule(2, DayOfWeek.Monday); List <DateTime> estimateTime = weeklyFrequency.EstimateExecuteTime(DateTime.Now, _TimeOffset, 20, TimeSpan.FromSeconds(10)); estimateTime.ForEach(d => Console.WriteLine(d.ToString("yyyy-MM-dd HH:mm:ss"))); }
public void NotMatchWeekDayWeeklyFixdTimeJobScheduleFrequencyTest() { WeeklyJobScheduleFrequency weeklyFrequency = PrepareWeeklyJobSchedule(1, DayOfWeek.Monday); DateTime now = DateTime.Now; DateTime startTime = now.AddDays(-((int)now.DayOfWeek - (int)DayOfWeek.Sunday)).Date; DateTime timePoint = startTime.AddDays(2) + new TimeSpan(10, 10, 10);; TimeScope scope = weeklyFrequency.GetTimeScope(startTime, timePoint, _TimeOffset); Assert.IsNull(scope); }
public void WeeklyFixdTimeJobScheduleFrequencyTest() { WeeklyJobScheduleFrequency weeklyFrequency = PrepareWeeklyJobSchedule(1, DayOfWeek.Monday); DateTime now = DateTime.Now; DateTime startTime = now.AddDays(-((int)now.DayOfWeek - (int)DayOfWeek.Sunday)).Date; DateTime timePoint = startTime.AddDays(1) + new TimeSpan(10, 10, 10);; TimeScope scope = weeklyFrequency.GetTimeScope(startTime, timePoint, _TimeOffset); Assert.IsNotNull(scope); Console.WriteLine(scope.BeginTime); Console.WriteLine(scope.EndTime); Assert.AreEqual(new TimeSpan(10, 10, 10) - _TimeOffset, scope.BeginTime); Assert.AreEqual(new TimeSpan(10, 10, 10) + _TimeOffset, scope.EndTime); }
public void WithLastExeTimeMatchWeekIntervalWeeklyFixdTimeJobScheduleFrequencyTest() { List <DayOfWeek> daysList = new List <DayOfWeek>(); daysList.Add(DayOfWeek.Monday); daysList.Add(DayOfWeek.Tuesday); daysList.Add(DayOfWeek.Wednesday); daysList.Add(DayOfWeek.Thursday); daysList.Add(DayOfWeek.Friday); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(6, 0, 0)); WeeklyJobScheduleFrequency weeklyFrequency = new WeeklyJobScheduleFrequency(daysList, 1, frequency); DateTime startTime = new DateTime(2013, 5, 31); DateTime lastExeTime = new DateTime(2013, 7, 30, 5, 59, 27); DateTime checkPoint = new DateTime(2013, 7, 30, 6, 0, 27); bool result = weeklyFrequency.IsNextExecuteTime(startTime, lastExeTime, checkPoint, TimeSpan.FromSeconds(60 / 2 * 1.1)); Assert.IsFalse(result); }
public void WithLastExeTimeMatchWeekIntervalWeeklyFixdTimeJobScheduleFrequencyTest() { List<DayOfWeek> daysList = new List<DayOfWeek>(); daysList.Add(DayOfWeek.Monday); daysList.Add(DayOfWeek.Tuesday); daysList.Add(DayOfWeek.Wednesday); daysList.Add(DayOfWeek.Thursday); daysList.Add(DayOfWeek.Friday); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(6, 0, 0)); WeeklyJobScheduleFrequency weeklyFrequency = new WeeklyJobScheduleFrequency(daysList, 1, frequency); DateTime startTime = new DateTime(2013, 5, 31); DateTime lastExeTime = new DateTime(2013, 7, 30, 5, 59, 27); DateTime checkPoint = new DateTime(2013, 7, 30, 6, 0, 27); bool result = weeklyFrequency.IsNextExecuteTime(startTime, lastExeTime, checkPoint, TimeSpan.FromSeconds(60 / 2 * 1.1)); Assert.IsFalse(result); }