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))); }
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()); } }
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); }
/// <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 ); }
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); } }
public WeeklySchedule() { SundaySchedule = new DailySchedule(); MondaySchedule = new DailySchedule(); TuesdaySchedule = new DailySchedule(); WednesdaySchedule = new DailySchedule(); ThursdaySchedule = new DailySchedule(); FridaySchedule = new DailySchedule(); SaturdaySchedule = new DailySchedule(); }
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)); }
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); }
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); }
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; }
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)); }