using System; using ApacKernel; using ApacKernel.Date; using ApacKernel.Services.SignalR; using Microsoft.AspNet.SignalR; using Microsoft.AspNet.SignalR.Hubs; using Now.Business; using Now.Entities; using Now.Web.Hubs; namespace Now.Web.Tickers { public class DistributionCenterTicker : TickerBase { private readonly static Lazy _instance = new Lazy(() => new DistributionCenterTicker(GlobalHost.ConnectionManager.GetHubContext().Clients)); public DistributionCenterTicker(IHubConnectionContext clients) : base(clients) { } public static DistributionCenterTicker Instance { get { return _instance.Value; } } protected override void GetAndSendData(object state = null) { var locations = DistributionCenterHub.GetGroups(); if (locations != null) foreach (var location in locations) { Clients.Group(location) .updateDistributionData( DistributionCenterWorkflow.Instance.GetDistributionCenterData(PeriodTypes.Today, location == "All" ? null : location)); } } protected override TimeSpan UpdateInterval { get { return ApacConfig.AppSettings.DistributionCenterTicks(); } } } }