protected void Page_Load(object sender, EventArgs e) { AMSEventCollection events = DataHelper.GetUpcomingEvents(0, DataHelper.DefaultPageSize, -1); this.firstPageData.Value = DataHelper.GetEventsListJson(0, DataHelper.DefaultPageSize, events.TotalCount, events); this.totalCount.Value = events.TotalCount.ToString(); this.pageSize.Value = DataHelper.DefaultPageSize.ToString(); }
private static string QueryEvents(Func <int, int, int, AMSEventCollection> getEvents) { int pageIndex = Res.Request.GetRequestQueryValue("pageIndex", 0); int totalCount = Res.Request.GetRequestQueryValue("totalCount", -1); AMSEventCollection events = getEvents(pageIndex, DataHelper.DefaultPageSize, totalCount); return(DataHelper.GetEventsListJson(pageIndex, DataHelper.DefaultPageSize, events.TotalCount, events)); }
public static AMSEventCollection GetUpcomingEvents(int pageIndex, int pageSize, int totalCount) { AMSEventDataSource dataSource = new AMSEventDataSource(); int retTotalCount = totalCount; AMSEventCollection events = dataSource.Query(pageIndex * DataHelper.DefaultPageSize, DataHelper.DefaultPageSize, "EndTime > GETUTCDATE()", "StartTime", ref retTotalCount); events.TotalCount = retTotalCount; return(events); }
protected void Page_Load(object sender, EventArgs e) { AMSEventCollection events = DataHelper.GetStartedEvents(0, DataHelper.DefaultPageSize, -1); this.firstPageData.Value = DataHelper.GetEventsListJson(0, DataHelper.DefaultPageSize, events.TotalCount, events); this.totalCount.Value = events.TotalCount.ToString(); this.pageSize.Value = DataHelper.DefaultPageSize.ToString(); //HttpCookie cookie = this.Request.Cookies.Get("login_uid"); //if (cookie != null) // this.uid.InnerText = cookie.Value; //OutputHeaders(); }
public void LoadNeedStartEventOutTimeFrame() { AMSEventSqlAdapter.Instance.ClearAll(); AMSChannel channel = DataHelper.PrepareChannelData(); AMSEvent eventData = DataHelper.PrepareEventData(channel.ID); eventData.StartTime = DateTime.Now.Add(TimeSpan.FromMinutes(10)); AMSEventSqlAdapter.Instance.Update(eventData); AMSEventCollection eventsLoaded = AMSEventSqlAdapter.Instance.LoadNeedStartEvents(TimeSpan.FromMinutes(5)); Assert.AreEqual(0, eventsLoaded.Count); }
public void LoadNeedStopEventInTimeFrame() { AMSEventSqlAdapter.Instance.ClearAll(); AMSChannel channel = DataHelper.PrepareChannelData(); AMSEvent eventData = DataHelper.PrepareEventData(channel.ID); eventData.State = AMSEventState.Running; eventData.EndTime = DateTime.UtcNow.Add(-TimeSpan.FromMinutes(10)); AMSEventSqlAdapter.Instance.Update(eventData); AMSEventCollection eventsLoaded = AMSEventSqlAdapter.Instance.LoadNeedStopEvents(); Assert.IsTrue(eventsLoaded.Count > 0); }
protected void Page_Load(object sender, EventArgs e) { AMSEventCollection upcomingEvents = DataHelper.GetUpcomingEvents(0, DataHelper.MaxPageSize, -1); upcomingEvents.TotalCount = -1; AMSEventCollection startedEvents = DataHelper.GetStartedEvents(0, DataHelper.DefaultPageSize, -1); this.firstPageData.Value = DataHelper.GetEventsListJson(0, DataHelper.DefaultPageSize, startedEvents.TotalCount, new Dictionary <string, IEnumerable <AMSEvent> >() { { "upcomingEvents", upcomingEvents }, { "startedEvents", startedEvents } }); this.totalCount.Value = startedEvents.TotalCount.ToString(); this.pageSize.Value = DataHelper.DefaultPageSize.ToString(); }
private static string QueryEvents(Func <int, int, int, Dictionary <string, IEnumerable <AMSEvent> > > getEvents) { int pageIndex = Res.Request.GetRequestQueryValue("pageIndex", 0); int totalCount = Res.Request.GetRequestQueryValue("totalCount", -1); Dictionary <string, IEnumerable <AMSEvent> > eventsDict = getEvents(pageIndex, DataHelper.DefaultPageSize, totalCount); foreach (KeyValuePair <string, IEnumerable <AMSEvent> > kp in eventsDict) { AMSEventCollection events = kp.Value as AMSEventCollection; if (events != null && events.TotalCount >= 0) { totalCount = events.TotalCount; } } return(DataHelper.GetEventsListJson(pageIndex, DataHelper.DefaultPageSize, totalCount, eventsDict)); }
/// <summary> /// 停止需要停止的任务 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public static void StopEventsInTimeFrame(CancellationToken cancellationToken) { AMSEventCollection events = AMSEventSqlAdapter.Instance.LoadNeedStopEvents(); AMSQueueItemCollection messages = new AMSQueueItemCollection(); foreach (AMSEvent eventData in events) { if (cancellationToken.IsCancellationRequested) { break; } if (LockHelper.IsLockAvailable(eventData)) { messages.Add(eventData.ToQueueMessage(AMSQueueItemType.StopEvent)); TraceHelper.AMSTaskTraceSource.TraceEvent(TraceEventType.Verbose, 60012, "Add stop new event {0} to queue.", eventData.ID); } } GetQueue().AddMessages(string.Empty, messages.ToArray()); }
/// <summary> /// 检查需要启动的事件 /// </summary> /// <returns></returns> public static void StartEventsInTimeFrame(CancellationToken cancellationToken) { AMSWorkerSettings settings = AMSWorkerSettings.GetConfig(); AMSEventCollection events = AMSEventSqlAdapter.Instance.LoadNeedStartEvents(settings.Durations.GetDuration("createChannelWarmup", TimeSpan.FromMinutes(20))); AMSQueueItemCollection messages = new AMSQueueItemCollection(); foreach (AMSEvent eventData in events) { if (cancellationToken.IsCancellationRequested) { break; } if (LockHelper.IsLockAvailable(eventData)) { messages.Add(eventData.ToQueueMessage(AMSQueueItemType.StartEvent)); TraceHelper.AMSTaskTraceSource.TraceEvent(TraceEventType.Verbose, 60011, "Add start new event {0} to queue.", eventData.ID); } } GetQueue().AddMessages(string.Empty, messages.ToArray()); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; string result = string.Empty; try { OperationType opType = Res.Request.GetRequestQueryValue("opType", OperationType.None); switch (opType) { case OperationType.AllEvents: result = QueryEvents((pageIndex, pageSize, totalCount) => DataHelper.GetStartedEvents(pageIndex, pageSize, totalCount)); break; case OperationType.UpcomingEvents: result = QueryEvents((pageIndex, pageSize, totalCount) => DataHelper.GetUpcomingEvents(pageIndex, pageSize, totalCount)); break; case OperationType.MergedEvents: result = QueryEvents((pageIndex, pageSize, totalCount) => { AMSEventCollection upcomingEvents = DataHelper.GetUpcomingEvents(0, DataHelper.MaxPageSize, -1); upcomingEvents.TotalCount = -1; AMSEventCollection startedEvents = DataHelper.GetStartedEvents(pageIndex, pageSize, totalCount); return(new Dictionary <string, IEnumerable <AMSEvent> >() { { "upcomingEvents", upcomingEvents }, { "startedEvents", startedEvents } }); } ); break; case OperationType.SingleEvent: string eventID = Res.Request.GetRequestQueryString("id", string.Empty); string channelID = Res.Request.GetRequestQueryString("channelID", string.Empty); AMSEvent eventData = DataHelper.GetEventByID(eventID, channelID); if (eventData != null) { AMSChannel channel = AMSChannelSqlAdapter.Instance.LoadByID(eventData.ChannelID); result = DataHelper.GetSingleEventJson(channel, eventData, WebHelper.GetVideoAddressType()); } break; } } catch (System.Exception ex) { result = DataHelper.GetExceptionJson(ex); } finally { context.Response.Write(result); context.Response.End(); } }