public Dashboard(ILiveDataService liveDataService) { AddProperty <string>("Download").SubscribeTo(liveDataService.Download); AddProperty <string>("Upload").SubscribeTo(liveDataService.Upload); AddProperty <string>("Latency").SubscribeTo(liveDataService.Latency); AddProperty <int>("Users").SubscribeTo(liveDataService.Users); AddProperty <int[]>("Traffic").SubscribeTo(liveDataService.Traffic); AddProperty <int[]>("ServerUsage").SubscribeTo(liveDataService.ServerUsage); AddProperty <int[]>("Utilization").SubscribeTo(liveDataService.Utilization); AddProperty <Activity[]>("RecentActivities").SubscribeTo(liveDataService.RecentActivity.Select(value => { var activities = new Queue <Activity>(Get <Activity[]>("RecentActivities")?.Reverse() ?? new Activity[] { }); activities.Enqueue(new Activity { PersonName = value.PersonName, Status = value.Status, Route = this.Redirect(AppLayout.FormPagePath, value.Id.ToString()) }); if (activities.Count > 4) { activities.Dequeue(); } return(activities.Reverse().ToArray()); })); // Regulate data update interval to no less than every 200 msecs. _subscription = Observable .Interval(TimeSpan.FromMilliseconds(200)) .StartWith(0) .Subscribe(_ => PushUpdates()); }
public Dashboard(ILiveDataService liveDataService) { AddProperty <RenderDataModel>("ImageRender").SubscribeTo(liveDataService.ImageRender); // Regulate data update interval to no less than every 200 msecs. _subscription = Observable.Interval(TimeSpan.FromMilliseconds(200)).StartWith(0) .Subscribe(_ => PushUpdates()); }
public WebhooksController(IQueue <string> payloadQueue, ISignatureVerifier signatureVerifier, ILogger <WebhooksController> logger, IEmployeeService employeeService, ILiveDataService service) { _signatureVerifier = signatureVerifier; _logger = logger; _employeeService = employeeService; _contactObservable = service.RecentActivity as ContactObservable; }
public Dashboard(ILiveDataService liveDataService) { AddProperty <string>("Download") .WithAttribute(new { Label = "Download", Icon = "cloud_download" }) .SubscribeTo(liveDataService.Download); AddProperty <string>("Upload") .WithAttribute(new { Label = "Upload", Icon = "cloud_upload" }) .SubscribeTo(liveDataService.Upload); AddProperty <string>("Latency") .WithAttribute(new { Label = "Latency", Icon = "network_check" }) .SubscribeTo(liveDataService.Latency); AddProperty <int>("Users") .WithAttribute(new { Label = "Users", Icon = "face" }) .SubscribeTo(liveDataService.Users); AddProperty <int[]>("Traffic").SubscribeTo(liveDataService.Traffic); AddProperty <int[]>("Utilization") .WithAttribute(new ChartAttribute { Labels = new string[] { "Memory", "Disk", "Network" } }) .SubscribeTo(liveDataService.Utilization); AddProperty <int[]>("ServerUsage").SubscribeTo(liveDataService.ServerUsage) .WithAttribute(new ChartAttribute { Labels = new string[] { "dns", "sql", "nethst", "w2k", "ubnt", "uat", "ftp", "smtp", "exch", "demo" } }); AddProperty <Activity[]>("RecentActivities") .SubscribeTo(liveDataService.RecentActivity.Select(value => { var activities = new Queue <Activity>(Get <Activity[]>("RecentActivities")?.Reverse() ?? new Activity[] { }); activities.Enqueue(value); if (activities.Count > 4) { activities.Dequeue(); } return(activities.Reverse().ToArray()); })); // Regulate data update interval to no less than every 200 msecs. _subscription = Observable .Interval(TimeSpan.FromMilliseconds(200)) .StartWith(0) .Subscribe(_ => PushUpdates()); }