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 EstimateMonthlyFixdTimeJobScheduleFrequencyTest() { MonthlyJobScheduleFrequency monthlyFrequency = PrepareMonthlyJobSchedule(2, 5); List <DateTime> estimateTime = monthlyFrequency.EstimateExecuteTime(DateTime.Now, _TimeOffset, 20, TimeSpan.FromSeconds(10)); estimateTime.ForEach(d => Console.WriteLine(d.ToString("yyyy-MM-dd HH:mm:ss"))); }
public void NotMatchDayInMonthlyFixdTimeJobScheduleFrequencyTest() { MonthlyJobScheduleFrequency monthlyFrequency = PrepareMonthlyJobSchedule(1, 5); DateTime now = DateTime.Now; DateTime startTime = new DateTime(now.Year, now.Month, 1); DateTime timePoint = startTime.AddDays(10) + new TimeSpan(10, 10, 10); TimeScope scope = monthlyFrequency.GetTimeScope(startTime, timePoint, _TimeOffset); Assert.IsNull(scope); }
private static JobSchedule CreateMonthlySchedule() { string schID = Guid.NewGuid().ToString(); string schName = "TestName" + DateTime.Now.ToString(); DateTime startTime = new DateTime(2011, 4, 1); DateTime endTime = new DateTime(2012, 4, 1); TimeFrequencyBase timeFrequency = new FixedTimeFrequency(new TimeSpan(9, 0, 0)); JobScheduleFrequencyBase schFrequency = new MonthlyJobScheduleFrequency(10, 1, timeFrequency); schFrequency.ID = Guid.NewGuid().ToString(); JobSchedule schedule = new JobSchedule(schID, schName, startTime, endTime, schFrequency); return(schedule); }
public void MonthlyFixdTimeJobScheduleFrequencyTest() { MonthlyJobScheduleFrequency monthlyFrequency = PrepareMonthlyJobSchedule(1, 5); DateTime now = DateTime.Now; DateTime startTime = new DateTime(now.Year, now.Month, 1); DateTime timePoint = startTime.AddDays(4) + new TimeSpan(10, 10, 10); TimeScope scope = monthlyFrequency.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); }