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;
        }
Ejemplo n.º 2
0
        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();
            }
        }