예제 #1
0
        public static Color GetColor(ECouleurAlarme couleur, CContexteDonnee ctx)
        {
            CSpvAlarmcouleur alarmCouleur = new CSpvAlarmcouleur(ctx);
            CFiltreData      filtre       = new CFiltreData(c_champALARMCOUL_GRAVITE + " = @1", (int)couleur);

            if (alarmCouleur.ReadIfExists(filtre))
            {
                return(alarmCouleur.Couleur);
            }
            else
            {
                return(DefaultColor(couleur));
            }
        }
예제 #2
0
        /// <summary>
        /// recalcul simple : s'il y a une alarme sur le fils, l'objet est en alarme
        /// </summary>
        protected virtual void RecalculeGravite()
        {
            ECouleurAlarme oldCouleurAlarme = m_couleurEnCours;

            m_gravite = EGraviteAlarme.NoAlarm;
            foreach (CDonneesSupervisionAlarme donnee in m_dicAlarmesEnCours.Values)
            {
                EGraviteAlarme graviteAlarme = CGraviteAlarme.ConvertFrom((EGraviteAlarmeAvecMasquage)donnee.InfoAlarme.SeverityCode);
                m_gravite = (EGraviteAlarme)Math.Max((int)m_gravite, (int)graviteAlarme);
            }
            switch (m_gravite)
            {
            case EGraviteAlarme.NoAlarm:
                m_couleurEnCours = ECouleurAlarme.NoAlarm;
                break;

            case EGraviteAlarme.Warning:
                m_couleurEnCours = ECouleurAlarme.Warning;
                break;

            case EGraviteAlarme.Undetermined:
                m_couleurEnCours = ECouleurAlarme.Undetermined;
                break;

            case EGraviteAlarme.Minor:
                m_couleurEnCours = ECouleurAlarme.Minor;
                break;

            case EGraviteAlarme.Major:
                m_couleurEnCours = ECouleurAlarme.Major;
                break;

            case EGraviteAlarme.Critical:
                m_couleurEnCours = ECouleurAlarme.Critical;
                break;
            }
            if (m_couleurEnCours != oldCouleurAlarme)
            {
                m_base.OnChangementEtatSupervise(this);
            }
        }
예제 #3
0
        public static Color DefaultColor(ECouleurAlarme gravite)
        {
            switch (gravite)
            {
            case ECouleurAlarme.NoAlarm:
                return(Color.Green);

            case ECouleurAlarme.MaskBrig:
                return(Color.LightBlue);

            case ECouleurAlarme.MaskAdmin:
                return(Color.Blue);

            case ECouleurAlarme.Warning:
                return(Color.Salmon);

            case ECouleurAlarme.Undetermined:
                return(Color.Violet);

            case ECouleurAlarme.Minor:
                return(Color.Yellow);

            case ECouleurAlarme.Major:
                return(Color.Orange);

            case ECouleurAlarme.Critical:
                return(Color.Red);

            case ECouleurAlarme.NoAlarmAcces:
                return(Color.LightGray);

            case ECouleurAlarme.MinorOrMajorButOk:
                return(Color.Salmon);

            case ECouleurAlarme.NOk:
                return(Color.Red);

            default:
                return(Color.White);
            }
        }