public static PeriodEvent startPeriodEvent(string sid, int videoTime, PeriodEventType type) { CustomTime startTime = new CustomTime() { absTS = CustomTime.ConvertDateTimeToTimeStamp(DateTime.Now), videoTS = videoTime }; PeriodEvent e = null; switch (type) { case PeriodEventType.FAST_FORWARD: e = new FastForwardEvent(sid, startTime, null); break; case PeriodEventType.REWIND: e = new RewindEvent(sid, startTime, null); break; case PeriodEventType.FORWARD_SKIP: e = new ForwardSkipEvent(sid, startTime, null); break; case PeriodEventType.REVERSE_SKIP: e = new ReverseSkipEvent(sid, startTime, null); break; case PeriodEventType.UNDETERMINED: e = new UndeterminedSkipEvent(sid, startTime, null); break; default: return(null); } return(e); }
public void Setup() { _notifier = Substitute.For <INotifier>(); // Here is mock _eventDate = DateTime.Now; PeriodEventInstance = new PeriodEvent(_notifier, _eventDate, PeriodType.Weekly); }
// 并发可能会出现问题? void IStore.savePeriodEvent(PeriodEvent e) { lock (this) { periodSW.WriteLine(e.toJsonString()); periodSW.Flush(); } }
public static void finishPeriodEvent(PeriodEvent e, int videoTime) { CustomTime endTime = new CustomTime() { absTS = CustomTime.ConvertDateTimeToTimeStamp(DateTime.Now), videoTS = videoTime }; e.setFinishTime(endTime); }
static void InitApp() { Application.Init(); var top = Application.Top; using (DAMSDbContext db = new DAMSDbContext()) { #region OneTimeEvent var oneTimeEvent1 = new OneTimeEvent() { Date = new DateTime(2020, 07, 20, 23, 23, 00), Name = "ДР Андрюхи", Status = EventStatus.Active, NotifyBefore = new TimeSpan(0, 5, 0) }; db.OneTimeEvents.Add(oneTimeEvent1); db.SaveChanges(); #endregion #region PeriodEvent var periodEvent1 = new PeriodEvent() { Date = new DateTime(2020, 08, 08, 15, 23, 00), Name = "ДР когось", NotifyBefore = new TimeSpan(24, 0, 0), Status = EventStatus.Active, PeriodType = PeriodType.Yearly }; db.PeriodEvents.Add(periodEvent1); db.SaveChanges(); #endregion #region CustomEventModel var customEventModel1 = new CustomEventModel { Name = "Поход на турнік", Status = EventStatus.Active, NotifyBefore = new TimeSpan(24, 0, 0) }; db.CustomEventModels.Add(customEventModel1); db.SaveChanges(); var myEventsModel1 = new CustomEventDate { Date = new DateTime(2020, 07, 01, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel1 }; var myEventsModel2 = new CustomEventDate { Date = new DateTime(2020, 07, 02, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel1 }; var myEventsModel3 = new CustomEventDate { Date = new DateTime(2020, 07, 03, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel1 }; var myEventsModel4 = new CustomEventDate { Date = new DateTime(2020, 07, 04, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel1 }; db.MyEventsModels.AddRange(myEventsModel1, myEventsModel2, myEventsModel3, myEventsModel4); db.SaveChanges(); var customEventModel2 = new CustomEventModel { Name = "Футболчік", Status = EventStatus.Active, NotifyBefore = new TimeSpan(0, 5, 0) }; db.CustomEventModels.Add(customEventModel2); db.SaveChanges(); var myEventsModel11 = new CustomEventDate { Date = new DateTime(2020, 08, 11, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel2 }; var myEventsModel21 = new CustomEventDate { Date = new DateTime(2020, 08, 12, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel2 }; var myEventsModel31 = new CustomEventDate { Date = new DateTime(2020, 08, 13, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel2 }; var myEventsModel41 = new CustomEventDate { Date = new DateTime(2020, 08, 14, 12, 25, 00), Status = EventStatus.Closed, CustomEventModel = customEventModel2 }; var myEventsModel51 = new CustomEventDate { Date = new DateTime(2020, 06, 25, 12, 25, 00), Status = EventStatus.Active, CustomEventModel = customEventModel2 }; db.MyEventsModels.AddRange(myEventsModel11, myEventsModel21, myEventsModel31, myEventsModel41, myEventsModel51); db.SaveChanges(); #endregion #region MinValue in our DB DateTime nextNotification = db.MyEventsModels.Min(p => p.Date); Console.WriteLine("2 - {0}", nextNotification); Console.ReadKey(); #endregion } var window = new Window("DAMS Console") { X = 0, Y = 1, Width = Dim.Fill(), Height = Dim.Fill() }; top.Add(window); }