public void TestControllerJSONGenerationForDay()
        {
            //Arrange
            int           numberOfRecurrences = 10;
            DailySchedule item = new DailySchedule
            {
                RecurrenceType                = DailySchedule.RecurrenceTypeEnum.Daily,
                DailyEveryNDaysSelected       = true,
                DailyEveryNDays               = 1,
                RecurrenceStartDate           = DateTime.Now,
                RecurrenceEndAfterNSelected   = true,
                RecurrenceEndAfterNOccurences = numberOfRecurrences
            };
            ScheduleItem scheduleItem = new ScheduleItem
            {
                DailySchedule = item
            };
            ScheduleItemController controller = new ScheduleItemController();

            //Act
            item.ProcessFutureDates();
            string       json          = controller.CreateJSON(scheduleItem);
            ScheduleItem processedItem = controller.ProcessJSON(json);

            //Assert
            Assert.IsTrue(json != null);
            Assert.AreEqual(processedItem.ScheduleItemType, "Daily");
            Assert.IsTrue(processedItem.DailySchedule != null);
            Assert.IsTrue(processedItem.WeeklySchedule == null);
            Assert.IsTrue(processedItem.MonthlySchedule == null);
            Assert.IsTrue(processedItem.YearlySchedule == null);
        }
        public Schedule CreateSchedule(string automationAccountName, DailySchedule schedule)
        {
            this.ValidateScheduleName(automationAccountName, schedule.Name);

            var scheduleModel = new AutomationManagement.Models.Schedule
            {
                Name         = schedule.Name,
                StartTime    = schedule.StartTime.ToUniversalTime(),
                ExpiryTime   = schedule.ExpiryTime.ToUniversalTime(),
                Description  = schedule.Description,
                DayInterval  = schedule.DayInterval,
                ScheduleType =
                    AutomationManagement.Models.ScheduleType
                    .DailySchedule
            };

            var scheduleCreateParameters = new AutomationManagement.Models.ScheduleCreateParameters
            {
                Schedule = scheduleModel
            };

            var scheduleCreateResponse = this.automationManagementClient.Schedules.Create(
                automationAccountName,
                scheduleCreateParameters);

            return(this.GetSchedule(automationAccountName, new Guid(scheduleCreateResponse.Schedule.Id)));
        }
Exemple #3
0
        private static void ScheduleShowListCacheJob()
        {
            var schedule = new DailySchedule(1);
            var job      = new ShowListCacheJob();

            Schedule(job, schedule);
        }
        public override void ExecuteCmdlet()
        {
            if (ParameterSetName == ParentObjectParameterSet)
            {
                ResourceGroupName = AccountObject.ResourceGroupName;
                Location          = AccountObject.Location;
                var NameParts = AccountObject.Name.Split('/');
                AccountName = NameParts[0];
            }

            var snapshotPolicyBody = new Management.NetApp.Models.SnapshotPolicy()
            {
                Location        = Location,
                Enabled         = Enabled,
                HourlySchedule  = (HourlySchedule != null) ? HourlySchedule.ConvertFromPs() : null,
                DailySchedule   = (DailySchedule != null) ? DailySchedule.ConvertFromPs() : null,
                WeeklySchedule  = (WeeklySchedule != null) ? WeeklySchedule.ConvertFromPs() : null,
                MonthlySchedule = (MonthlySchedule != null) ? MonthlySchedule.ConvertFromPs() : null
            };

            if (ShouldProcess(Name, string.Format(PowerShell.Cmdlets.NetAppFiles.Properties.Resources.CreateResourceMessage, ResourceGroupName)))
            {
                var anfSnapshotPolicy = AzureNetAppFilesManagementClient.SnapshotPolicies.Create(snapshotPolicyBody, ResourceGroupName, AccountName, snapshotPolicyName: Name);
                WriteObject(anfSnapshotPolicy.ConvertToPs());
            }
        }
Exemple #5
0
        private void Test(object sender, System.EventArgs e)
        {
            MessageBox.Show("Test will now create all types of schedules and opens Schedules View");

            // create and add different types of schedules
            Schedule s = new IntervalSchedule("Test_Interval", DateTime.Now.AddMinutes(1), 45, TimeSpan.Zero, new TimeSpan(TimeSpan.TicksPerDay));

            s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack);
            Scheduler.AddSchedule(s);
            s            = new OneTimeSchedule("Test_Onetime", DateTime.Now.AddMinutes(1.5));
            s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack);
            Scheduler.AddSchedule(s);
            s            = new DailySchedule("Test_daily", DateTime.Now.AddMinutes(2));
            s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack);
            Scheduler.AddSchedule(s);
            s            = new WeeklySchedule("Test_weekly", DateTime.Now.AddMinutes(2.5));
            s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack);
            Scheduler.AddSchedule(s);
            s            = new MonthlySchedule("Test_monthly", DateTime.Now.AddMinutes(3));
            s.OnTrigger += new EventScheduler.Invoke(ScheduleCallBack);
            Scheduler.AddSchedule(s);

            // kick off the Schedules View
            SchedulerUI.ShowSchedules();
        }
        public void Setup()
        {
            loggerMock = new Mock <ILogger <DownloadWeekly> >();

            // Setup Extractor mock
            var dummyLinks = new List <Uri>
            {
                new Uri("https://my.salesforce.com/download/path")
            };
            var dummyExtractResult = new SfExportLinkExtractorResult(true, dummyLinks);

            extractorMock = new Mock <ISfExportLinkExtractor>();
            extractorMock.Setup(x => x.ExtractAsync())
            .ReturnsAsync(dummyExtractResult);

            // Setup Downloader mock
            var dummyPaths = new List <string>
            {
                "export/mysfexport.zip"
            };
            var dummyDownloadResult = new SfExportDownloaderResult(true, dummyPaths);

            downloaderMock = new Mock <ISfExportDownloader>();
            downloaderMock.Setup(x => x.DownloadAsync(It.IsAny <IList <Uri> >()))
            .ReturnsAsync(dummyDownloadResult);

            var schedule = new DailySchedule();
            var status   = new ScheduleStatus();

            dummyTimer = new TimerInfo(schedule, status);

            function = new DownloadWeekly(loggerMock.Object, extractorMock.Object, downloaderMock.Object);
        }
 public void Occurrences_before_start()
 {
     // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
     DailySchedule day = new DailySchedule { Frequency = 3 };
     IList<DateTime> occurrences = Convert(day.GetOccurrences(_start, new DateTime(2010, 4, 1), new DateTime(2010, 4, 10)));
     
     Assert.AreEqual(0, occurrences.Count);
 }
        protected override void AutomationExecuteCmdlet()
        {
            // Assume local time if DateTimeKind.Unspecified
            if (this.StartTime.Kind == DateTimeKind.Unspecified)
            {
                this.StartTime = DateTime.SpecifyKind(this.StartTime, DateTimeKind.Local);
            }

            if (this.ExpiryTime.Kind == DateTimeKind.Unspecified)
            {
                this.ExpiryTime = DateTime.SpecifyKind(this.ExpiryTime, DateTimeKind.Local);
            }

            if (this.OneTime.IsPresent)
            {
                // ByOneTime
                var oneTimeSchedule = new OneTimeSchedule
                {
                    Name        = this.Name,
                    StartTime   = this.StartTime,
                    Description = this.Description,
                    ExpiryTime  = this.ExpiryTime
                };

                Schedule schedule = this.AutomationClient.CreateSchedule(this.AutomationAccountName, oneTimeSchedule);
                this.WriteObject(schedule);
            }
            else if (this.DayInterval >= 1)
            {
                // ByDaily
                var dailySchedule = new DailySchedule
                {
                    Name        = this.Name,
                    StartTime   = this.StartTime,
                    DayInterval = this.DayInterval,
                    Description = this.Description,
                    ExpiryTime  = this.ExpiryTime
                };

                Schedule schedule = this.AutomationClient.CreateSchedule(this.AutomationAccountName, dailySchedule);
                this.WriteObject(schedule);
            }
            else if (this.HourInterval >= 1)
            {
                // ByHourly
                var hourlySchedule = new HourlySchedule
                {
                    Name         = this.Name,
                    StartTime    = this.StartTime,
                    HourInterval = this.HourInterval,
                    Description  = this.Description,
                    ExpiryTime   = this.ExpiryTime
                };

                Schedule schedule = this.AutomationClient.CreateSchedule(this.AutomationAccountName, hourlySchedule);
                this.WriteObject(schedule);
            }
        }
        public void Next_occurrence_before_start()
        {
            // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
            DailySchedule day = new DailySchedule { Frequency = 3 };
            DateTime? next = day.NextOccurrence(_start, new DateTime(2010, 1, 1));

            Assert.IsTrue(next.HasValue);
            Assert.AreEqual(_start, next.Value);
        }
Exemple #10
0
 /// <summary>
 /// Gets the generated description for the schedule.  Will not update Description or fire events.
 /// </summary>
 public virtual string Format(DailySchedule s)
 {
     // Daily
     // Every 2 days
     return(String.Format(
                Strings.Plural(s.Frequency, "Daily", "Every {0} days"),
                s.Frequency
                ));
 }
        public void ToString_ReturnsExpectedValue()
        {
            DailySchedule schedule = new DailySchedule(
                new TimeSpan(8, 30, 0),
                new TimeSpan(15, 0, 0),  // verify the schedule self orders
                new TimeSpan(12, 00, 0));

            Assert.Equal("Daily: 3 occurrences", schedule.ToString());
        }
 /// <summary>
 /// Gets the generated description for the schedule.  Will not update Description or fire events.
 /// </summary>
 public virtual string Format(DailySchedule s)
 {
     // Daily
     // Every 2 days
      return String.Format(
             Strings.Plural(s.Frequency, "Daily", "Every {0} days"),
             s.Frequency
         );
 }
Exemple #13
0
        private void DisplaySchedule(DateTime date)
        {
            BunifuCustomLabel targer_S1 = null;
            BunifuCustomLabel target_S2 = null;

            switch (date.DayOfWeek)
            {
            case (DayOfWeek.Monday):
                targer_S1 = bunifuCustomLabel_Mon_S1;
                target_S2 = bunifuCustomLabel_Mon_S2;
                break;

            case (DayOfWeek.Tuesday):
                targer_S1 = bunifuCustomLabel_Tue_S1;
                target_S2 = bunifuCustomLabel_Tue_S2;
                break;

            case (DayOfWeek.Wednesday):
                targer_S1 = bunifuCustomLabel_Wed_S1;
                target_S2 = bunifuCustomLabel_Wed_S2;
                break;

            case (DayOfWeek.Thursday):
                targer_S1 = bunifuCustomLabel_Thu_S1;
                target_S2 = bunifuCustomLabel_Thu_S2;
                break;

            case (DayOfWeek.Friday):
                targer_S1 = bunifuCustomLabel_Fri_S1;
                target_S2 = bunifuCustomLabel_Fri_S2;
                break;

            case (DayOfWeek.Saturday):
                targer_S1 = bunifuCustomLabel_Sat_S1;
                target_S2 = bunifuCustomLabel_Sat_S2;
                break;

            case (DayOfWeek.Sunday):
                targer_S1 = bunifuCustomLabel_Sun_S1;
                target_S2 = bunifuCustomLabel_Sun_S2;
                break;
            }

            if (savedSchedule.GetSchedule(date) == null)
            {
                DailySchedule schedule = manager.GetSchedule(date);
                savedSchedule.AddSchedule(schedule);
                FormatDataInLabel(schedule.GetWorkingShift(1), targer_S1);
                FormatDataInLabel(schedule.GetWorkingShift(2), target_S2);
            }
            else
            {
                FormatDataInLabel(savedSchedule.GetSchedule(date).GetWorkingShift(1), targer_S1);
                FormatDataInLabel(savedSchedule.GetSchedule(date).GetWorkingShift(2), target_S2);
            }
        }
Exemple #14
0
 public WeeklySchedule()
 {
     SundaySchedule    = new DailySchedule();
     MondaySchedule    = new DailySchedule();
     TuesdaySchedule   = new DailySchedule();
     WednesdaySchedule = new DailySchedule();
     ThursdaySchedule  = new DailySchedule();
     FridaySchedule    = new DailySchedule();
     SaturdaySchedule  = new DailySchedule();
 }
Exemple #15
0
        public void Occurrences_before_start()
        {
            // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
            DailySchedule day = new DailySchedule {
                Frequency = 3
            };
            IList <DateTime> occurrences = Convert(day.GetOccurrences(_start, new DateTime(2010, 4, 1), new DateTime(2010, 4, 10)));

            Assert.AreEqual(0, occurrences.Count);
        }
        public Schedule GetSchedule(Content content)
        {
            DailySchedule dailySchedule = new DailySchedule(content.SearchApplication)
            {
                DaysInterval = this.CrawlScheduleRunEveryInterval,
                StartHour    = this.CrawlScheduleStartDateTime
            };

            return(dailySchedule);
        }
        public void Occurrences_stress_test()
        {
            DailySchedule day = new DailySchedule { Frequency = 1 };
            var d = new DateTime(1990, 1, 1);

            // 1/1/1990 -> 1/1/2010 = 365 * 20 + 5 extra days due to leap years (1992, 1996, 2000, 2004, 2008)
            IList<DateTime> occurrences = Convert(day.GetOccurrences(d, d, new DateTime(2009, 12, 31)));

            Assert.AreEqual(7305, occurrences.Count);
        }
 public ActionResult EditDaily(DailySchedule schedule, string selectedToolID, string selectedContactID, List <string> selectedDevices)
 {
     if (ModelState.IsValid)
     {
         unitOfWork.ScheduleRepository.Update(schedule);
         UpdateScheduleGraph(schedule, selectedToolID, selectedContactID, selectedDevices);
         unitOfWork.Save();
         return(RedirectToAction("Index"));
     }
     return(View(schedule));
 }
        public ActionResult CreateDaily(DailySchedule schedule)
        {
            if (ModelState.IsValid)
            {
                unitOfWork.ScheduleRepository.Insert(schedule);
                unitOfWork.ScheduleRepository.Save();
                return(RedirectToAction("Index"));
            }

            return(View(schedule));
        }
Exemple #20
0
        public void Next_occurrence_before_start()
        {
            // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
            DailySchedule day = new DailySchedule {
                Frequency = 3
            };
            DateTime?next = day.NextOccurrence(_start, new DateTime(2010, 1, 1));

            Assert.IsTrue(next.HasValue);
            Assert.AreEqual(_start, next.Value);
        }
        public void Occurrences_crossing_start()
        {
            // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
            DailySchedule day = new DailySchedule { Frequency = 3 };
            IList<DateTime> occurrences = Convert(day.GetOccurrences(_start, new DateTime(2010, 4, 1), new DateTime(2010, 4, 27)));

            Assert.AreEqual(3, occurrences.Count);
            Assert.AreEqual(occurrences[0], new DateTime(2010, 4, 20));
            Assert.AreEqual(occurrences[1], new DateTime(2010, 4, 23));
            Assert.AreEqual(occurrences[2], new DateTime(2010, 4, 26));
        }
        public void GetNext_When_Disabled()
        {
            var input = new DateTime(2020, 8, 10, 7, 10, 10);

            var sch = new DailySchedule(DailyIntervalUnit.Hour, 1,
                                        new Time(10, 15, 30), new Time(20, 59, 59), false);

            var actual = sch.GetNext(input);

            Assert.Null(actual);
        }
        public static PSNetAppFilesDailySchedule ConvertToPs(this DailySchedule dailySchedule)
        {
            PSNetAppFilesDailySchedule psNetAppFilesDailySchedule = new PSNetAppFilesDailySchedule
            {
                Hour            = dailySchedule.Hour,
                Minute          = dailySchedule.Minute,
                SnapshotsToKeep = dailySchedule.SnapshotsToKeep,
                UsedBytes       = dailySchedule.UsedBytes
            };

            return(psNetAppFilesDailySchedule);
        }
        public static DailySchedule ConvertFromPs(this PSNetAppFilesDailySchedule psDailySchedule)
        {
            var dailySchedule = new DailySchedule
            {
                Hour            = psDailySchedule.Hour,
                Minute          = psDailySchedule.Minute,
                SnapshotsToKeep = psDailySchedule.SnapshotsToKeep,
                UsedBytes       = psDailySchedule.UsedBytes
            };

            return(dailySchedule);
        }
        public void Second_GetNext_Inside_Of_Active_Interval_Default_Start_End()
        {
            var input = new DateTime(2020, 8, 10, 14, 31, 40);

            var expected = new DateTime(2020, 8, 10, 14, 31, 42);

            var sch = new DailySchedule(DailyIntervalUnit.Second, 3, null, null);

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
Exemple #26
0
        public void Occurrences_stress_test()
        {
            DailySchedule day = new DailySchedule {
                Frequency = 1
            };
            var d = new DateTime(1990, 1, 1);

            // 1/1/1990 -> 1/1/2010 = 365 * 20 + 5 extra days due to leap years (1992, 1996, 2000, 2004, 2008)
            IList <DateTime> occurrences = Convert(day.GetOccurrences(d, d, new DateTime(2009, 12, 31)));

            Assert.AreEqual(7305, occurrences.Count);
        }
        public void OneTimePerDay()
        {
            // previously we had a bug in calculating the next occurrence
            // when the current time was greater than the single daily time.
            DailySchedule schedule = new DailySchedule("2:00:00");

            DateTime now            = new DateTime(2015, 9, 15, 21, 57, 40);
            DateTime nextOccurrence = schedule.GetNextOccurrence(now);
            TimeSpan nextInterval   = nextOccurrence - now;

            Assert.Equal(14540000, nextInterval.TotalMilliseconds);
        }
Exemple #28
0
        public DailySchedule GetSchedule(DateTime date)
        {
            DailySchedule                       schedule              = new DailySchedule(date);
            Table <DAL.Schedule>                scheduleTable         = GetScheduleTable();
            Table <DAL.WorkingCashier>          cashierTable          = GetWorkingCashierTable();
            Table <DAL.WorkingManager>          managerTable          = GetWorkingManagerTable();
            Table <DAL.WorkingRegularStaff>     staffTable            = GetWorkingRegularStaffTable();
            Table <DAL.WorkingWarehouseManager> warehouseManagerTable = GetWorkingWarehouseManagerTable();

            var matchedScheduleInDate = (from sch in scheduleTable
                                         where date.Date.CompareTo(sch.date) == 0
                                         select sch).ToList();

            foreach (DAL.Schedule matchedData in matchedScheduleInDate)
            {
                WorkingShift newShift       = new WorkingShift(matchedData.workingShiftID);
                var          matchedCashier = (from cashier in cashierTable
                                               where matchedData.scheduleID == cashier.scheduleID
                                               select cashier.staffID).ToList();
                foreach (string cashierID in matchedCashier)
                {
                    newShift.AddWorkingStaff(staffManager.GetStaff(cashierID));
                }

                var matchedManager = (from manager in managerTable
                                      where matchedData.scheduleID == manager.scheduleID
                                      select manager.staffID).ToList();
                foreach (string managerID in matchedManager)
                {
                    newShift.AddWorkingStaff(staffManager.GetStaff(managerID));
                }

                var matchedStaff = (from staff in staffTable
                                    where matchedData.scheduleID == staff.scheduleID
                                    select staff.staffID).ToList();
                foreach (string staffID in matchedStaff)
                {
                    newShift.AddWorkingStaff(staffManager.GetStaff(staffID));
                }

                var matchedKeeper = (from keeper in warehouseManagerTable
                                     where matchedData.scheduleID == keeper.scheduleID
                                     select keeper.staffID).ToList();
                foreach (string keeperID in matchedKeeper)
                {
                    newShift.AddWorkingStaff(staffManager.GetStaff(keeperID));
                }

                schedule.AddWorkingShift(newShift);
            }

            return(schedule);
        }
        public void Occurrences_within_period()
        {
            // 20/4, 23/4, 26/4, 29/4, 2/5, 5/5, 8/5
            DailySchedule day = new DailySchedule { Frequency = 3 };
            IList<DateTime> occurrences = Convert(day.GetOccurrences(_start, new DateTime(2010, 4, 21), new DateTime(2010, 5, 2)));

            Assert.AreEqual(4, occurrences.Count);
            Assert.AreEqual(occurrences[0], new DateTime(2010, 4, 23));
            Assert.AreEqual(occurrences[1], new DateTime(2010, 4, 26));
            Assert.AreEqual(occurrences[2], new DateTime(2010, 4, 29));
            Assert.AreEqual(occurrences[3], new DateTime(2010, 5, 2));
        }
        public void Second_GetNext_Inside_Of_Active_Interval_1sec()
        {
            var input = new DateTime(2020, 8, 10, 14, 31, 59);

            var expected = new DateTime(2020, 8, 10, 14, 32, 0);

            var sch = new DailySchedule(DailyIntervalUnit.Second, 1,
                                        new Time(6, 0, 0), new Time(23, 59, 59));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Hour_GetNext_OnStart_Of_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 12, 10, 10);

            var expected = new DateTime(2020, 8, 10, 12, 10, 10);

            var sch = new DailySchedule(DailyIntervalUnit.Hour, 1,
                                        new Time(12, 10, 10), new Time(23, 59, 59));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Second_GetNext_On_Start_Of_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 7, 30, 15);

            var expected = new DateTime(2020, 8, 10, 7, 30, 15);

            var sch = new DailySchedule(DailyIntervalUnit.Second, 3,
                                        new Time(7, 30, 15), new Time(23, 59, 59));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Minute_GetNext_Before_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 7, 10, 10);

            var expected = new DateTime(2020, 8, 10, 10, 10, 15);

            var sch = new DailySchedule(DailyIntervalUnit.Minute, 2,
                                        new Time(10, 10, 15), new Time(20, 59, 59));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Minute_GetNext_On_End_Of_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 21, 12, 13);

            var expected = new DateTime(2020, 8, 11, 2, 7, 4);

            var sch = new DailySchedule(DailyIntervalUnit.Minute, 2,
                                        new Time(2, 7, 4), new Time(21, 12, 13));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Minute_GetNext_Inside_Of_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 14, 31, 40);

            var expected = new DateTime(2020, 8, 10, 14, 33, 12);

            var sch = new DailySchedule(DailyIntervalUnit.Minute, 2,
                                        new Time(6, 13, 12), new Time(23, 59, 59));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public void Second_GetNext_After_End_Of_Active_Interval()
        {
            var input = new DateTime(2020, 8, 10, 22, 12, 12);

            var expected = new DateTime(2020, 8, 11, 2, 3, 4);

            var sch = new DailySchedule(DailyIntervalUnit.Second, 3,
                                        new Time(2, 3, 4), new Time(21, 21, 21));

            var actual = sch.GetNext(input);

            Assert.Equal(expected, actual);
        }
        public DailySchedule GetScheduleFor(DateTime date)
        {
            date = date.Date;

            DailySchedule schedule;

            if(!_schedules.TryGetValue(date, out schedule))
            {
                schedule = new DailySchedule {Date = date};
                schedule.BeginEdit();

                _schedules.Add(date, schedule);
            }

            return schedule;
        }
Exemple #38
0
 public static DailySchedule CreateDailySchedule(global::System.Guid scheduleID, global::System.Guid tenantID, string name, global::System.DateTime startTime, global::System.DateTime creationTime, global::System.DateTime lastModifiedTime, bool isEnabled, byte dayInterval)
 {
     DailySchedule dailySchedule = new DailySchedule();
     dailySchedule.ScheduleID = scheduleID;
     dailySchedule.TenantID = tenantID;
     dailySchedule.Name = name;
     dailySchedule.StartTime = startTime;
     dailySchedule.CreationTime = creationTime;
     dailySchedule.LastModifiedTime = lastModifiedTime;
     dailySchedule.IsEnabled = isEnabled;
     dailySchedule.DayInterval = dayInterval;
     return dailySchedule;
 }
 /// <summary>
 /// Visitor pattern for generating description for this schedule.  Will update Description and fire events.
 /// </summary>
 public virtual void Visit(DailySchedule s) { OnDescriptionChanged(s, Format(s)); }