private void CheckForNewNotifications(object sender, EventArgs e) { var world = WarframeInfoProvider.GetWorldState(); var newAlerts = WarframeInfoProvider.GetAlerts(world); var tmpAlerts = new ObservableCollection <Alert>(); foreach (Alert alert in newAlerts) { if (!(Alerts.Any(x => x._id.oid == alert._id.oid)) && alert != null) { NotificationQueue.Add(alert); } alert.ToNotificationString(); tmpAlerts.Add(alert); } Alerts = tmpAlerts; WarframeInfoProvider.GetInvasions(world); var newInvasions = WarframeInfoProvider.GetInvasions(world); var tmpInvasions = new ObservableCollection <Invasion>(); foreach (Invasion invasion in newInvasions) { if (!(Invasions.Any(x => x._id.oid == invasion._id.oid)) && invasion != null) { NotificationQueue.Add(invasion); } invasion.ToNotificationString(); tmpInvasions.Add(invasion); } Invasions = tmpInvasions; }
public void OnGet(DateTime startDateTime, DateTime endDateTime) { Alerts = _detector.GetAlerts(); if (Alerts.Any()) { StartDateTimePicker = startDateTime == DateTime.MinValue ? Alerts.Min(x => x.Timestamp) : startDateTime; if (endDateTime.ToString() == DateTime.MaxValue.ToString() || (DateTime.Compare(endDateTime, DateTime.MinValue) == 0)) { EndDateTimePicker = Alerts.Max(x => x.Timestamp); } else { EndDateTimePicker = endDateTime; } if (EndDateTimePicker < StartDateTimePicker) { EndDateTimePicker = Alerts.Max(x => x.Timestamp); } } else { StartDateTimePicker = DateTime.Now; EndDateTimePicker = DateTime.UtcNow; } //todo filter by timestamp if present if ((StartDateTimePicker > DateTime.MinValue) && (EndDateTimePicker < DateTime.MaxValue)) { IEnumerable <FraudUIAlerts> AlertsFiltered = Alerts.Where(a => (a.Timestamp >= StartDateTimePicker) && (a.Timestamp <= EndDateTimePicker)); Alerts = AlertsFiltered.ToList(); } }