Пример #1
0
        private static bool Zone(eXAlert alert, AlertTarget target)
        {
            bool b = false;

            if (!String.IsNullOrEmpty(alert.Zone) && alert.Zone.Equals(target.Value))
            {
                b = true;
            }
            return(b);
        }
Пример #2
0
        private static bool Target(eXAlert alert, AlertTarget target)
        {
            bool b = false;

            if (alert.Audiences != null && alert.Audiences.Contains(target.Value))
            {
                b = true;
            }
            return(b);
        }
Пример #3
0
        private static bool Category(eXAlert alert, AlertTarget target)
        {
            bool b = false;

            if (alert.Categories != null && alert.Categories.Contains(target.Value))
            {
                b = true;
            }
            return(false);
        }
Пример #4
0
        private bool Contains(eXAlert alert, AlertTarget target)
        {
            bool b = false;

            if (targetmaps.ContainsKey(target.Key))
            {
                b = targetmaps[target.Key].Invoke(alert, target);
            }
            return(b);
        }
Пример #5
0
        private void AssertInequalities(AlertTarget a, AlertTarget b)
        {
            Assert.That(a, Is.EqualTo(a));
            Assert.That(b, Is.EqualTo(b));

            Assert.That(a, Is.Not.EqualTo(b));
            Assert.That(b, Is.Not.EqualTo(a));

            Assert.That(a, Is.Not.EqualTo(null));
            Assert.That(b, Is.Not.EqualTo(null));

            Assert.That(a.GetHashCode(), Is.Not.EqualTo(b.GetHashCode()));
        }
Пример #6
0
        public static void CheckAndAlert(AlertTarget alertTarget, BatteryCharacter batteryChar, double temperatureInC)
        {
            BreachType breachType = ClassifyTemperatureBreach(batteryChar.coolingType, temperatureInC);

            if (ConfigurationManager.AppSettings["TestingEnvironment"] == "true")
            {
                new FakeAlertNotifierType()._NotifierType[alertTarget]().TriggerNotification(breachType);
            }
            else
            {
                new AlertNotifierType()._NotifierType[alertTarget]().TriggerNotification(breachType);
            }
        }
Пример #7
0
        private static bool Urgency(eXAlert alert, AlertTarget target)
        {
            bool        b = false;
            ScaleOption alertOpt;
            ScaleOption targetOpt;

            if (!String.IsNullOrEmpty(alert.Urgency) && Enum.TryParse <ScaleOption>(alert.Urgency, out alertOpt))
            {
                if (Enum.TryParse <ScaleOption>(target.Value, out targetOpt))
                {
                    b = alertOpt >= targetOpt;
                }
            }
            return(b);
        }
        public static bool checkAndAlert(AlertTarget alertTarget, BatteryCharacter batteryChar, double temperatureInC)
        {
            bool checkAlert = false;

            BreachType breachType = classifyTemperatureBreach(batteryChar.coolingType, temperatureInC);
            IAlerter   alerter    = FetchInstance(alertTarget.ToString()) as IAlerter;

            if (alerter != null)
            {
                alerter.TriggerBreachAlert(breachType);
                checkAlert = true;
            }

            return(checkAlert);
        }
Пример #9
0
        public static void checkAndAlert(
            AlertTarget alertTarget, BatteryCharacter batteryChar, double temperatureInC)
        {
            BreachType breachType = classifyTemperatureBreach(
                batteryChar.coolingType, temperatureInC
                );

            switch (alertTarget)
            {
            case AlertTarget.TO_CONTROLLER:
                sendToController(breachType);
                break;

            case AlertTarget.TO_EMAIL:
                sendToEmail(breachType);
                break;
            }
        }
Пример #10
0
        private bool ExecuteAlert(eXAlert alert)
        {
            int alertCount = 0;

            List <string> list = null;

            foreach (var subscriber in subscribers)
            {
                foreach (var interest in subscriber.Interests)
                {
                    bool b = true;
                    for (int i = 0; b && i < interest.Targets.Count; i++)
                    {
                        AlertTarget target = interest.Targets[i];
                        b = Contains(alert, target);
                    }
                    if (b)
                    {
                        alertCount++;
                        Publish(alert, interest);
                    }
                }
            }
            if (alert.Dispositions != null)
            {
                list = new List <string>(alert.Dispositions);
            }
            else
            {
                list = new List <string>();
            }
            string disposition = String.Format("{0} subscribers, {1} alerts :{2}", subscribers.Count, alertCount, DateTime.Now.ToString(XFConstants.DateTimeFormat));

            list.Add(disposition);
            alert.Dispositions = list.ToArray();
            return(true);
        }