コード例 #1
0
        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);
        }
コード例 #2
0
        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")));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }