//---------------------------------------------------------------------------------------------
        protected override void RecalculeGraviteEtMasquage()
        {
            //bool bOldOperationnel = m_bIsOperationnel;

            EEtatOperationnelSchema oldEtat = EtatOperationnel;

            try
            {
                base.RecalculeGraviteEtMasquage();
                //Normallement, il n'y a qu'un fils !
                m_bIsOperationnel = true;
                foreach (CInfoElementDeSchemaSupervise infoFils in m_listeFils)
                {
                    CInfoSchemaDeSchemaSupervise infoSchema = infoFils as CInfoSchemaDeSchemaSupervise;
                    if (infoSchema != null && EtatOperationnel > infoSchema.EtatOperationnel)
                    {
                        EtatOperationnel = infoSchema.EtatOperationnel;
                    }
                }
            }
            finally
            {
                if (EtatOperationnel != oldEtat)
                {
                    m_base.OnChangementEtatSupervise(this);
                }
            }
        }
Exemple #2
0
        //------------------------------------
        /// <summary>
        /// recalcul simple : s'il y a une alarme sur le fils, l'objet est en alarme
        /// </summary>
        protected virtual void RecalculeGraviteEtMasquage()
        {
            CLocalSeveriteAlarme oldSeverite = m_severite;
            CLocalSeveriteAlarme severite    = null;

            m_etatOperationel = EEtatOperationnelSchema.OK;
            m_bHasMasquage    = false;
            foreach (CDonneesSupervisionAlarme donnee in m_dicAlarmesEnCours.Values)
            {
                if (donnee.LocalAlarme.MasquageApplique == null || donnee.LocalAlarme.MasquageApplique.Priorite <= m_base.NiveauMasquageMaxAffiche)
                {
                    if (severite == null || donnee.LocalAlarme.Severite.Priorite > severite.Priorite)
                    {
                        severite = donnee.LocalAlarme.TypeAlarme.Severite;
                    }
                    if (donnee.LocalAlarme.IsHS && !donnee.IsFromChild)
                    {
                        m_etatOperationel = EEtatOperationnelSchema.HS;
                    }
                }
                else
                {
                    m_bHasMasquage = true;
                }
            }
            m_severite = severite;
            if (oldSeverite != m_severite)
            {
                m_base.OnChangementEtatSupervise(this);
            }
        }
Exemple #3
0
        //----------------------------------------------------------------------------------------------
        public Image GetImageEtatOperationnel(EEtatOperationnelSchema etat)
        {
            switch (etat)
            {
            case EEtatOperationnelSchema.HS:
                return(SpvDataResource.Connection_Disabled);

            case EEtatOperationnelSchema.Degrade:
                return(SpvDataResource.Connection_warning);

            case EEtatOperationnelSchema.OK:
                return(SpvDataResource.Connection_Check);

            default:
                return(SpvDataResource.Connection_Check);
            }
        }
Exemple #4
0
        private void CalculEtatOperationnel()
        {
            m_arbreAller.ElementRacine.RecalculeCoefOperationnelFromChilds();
            m_arbreRetour.ElementRacine.RecalculeCoefOperationnelFromChilds();

            double fCoefOpAller  = m_arbreAller.ElementRacine.CoeffOperationnel;
            double fCoefOpRetour = m_arbreRetour.ElementRacine.CoeffOperationnel;

            double fCoefFinal = Math.Min(fCoefOpAller, fCoefOpRetour);

            if (fCoefFinal == 0.0)
            {
                EtatOperationnel = EEtatOperationnelSchema.HS;
            }
            else if (fCoefFinal > 0.0 && fCoefFinal < 1.0)
            {
                EtatOperationnel = EEtatOperationnelSchema.Degrade;
            }
            else // = 1 forcément
            {
                EtatOperationnel = EEtatOperationnelSchema.OK;
            }
        }
        //---------------------------------------------------------------------------------------------
        protected override void RecalculeGravite()
        {
            //bool bOldOperationnel = m_bIsOperationnel;

            EEtatOperationnelSchema OldEtat = m_etatOperationnel;

            try
            {
                base.RecalculeGravite();
                //Normallement, il n'y a qu'un fils !
                m_bIsOperationnel = true;
                foreach (CInfoElementDeSchemaSupervise infoFils in m_listeFils)
                {
                    CInfoSchemaDeSchemaSupervise infoSchema = infoFils as CInfoSchemaDeSchemaSupervise;
                    if (infoSchema != null)
                    {
                        m_etatOperationnel = infoSchema.EtatOperationnel;
                    }
                    if (infoFils.GraviteAlarme > GraviteAlarme)
                    {
                        ChangeGravite(infoFils.GraviteAlarme);
                    }
                }
                //if (GraviteAlarme >= EGraviteAlarme.Major && (m_dicSitesSpvConcernant.Count > 0 || m_dicEquipementsSpvConcernant.Count > 0))//Pas de schéma
                if (GraviteAlarme >= EGraviteAlarme.Major)// && (m_dicSitesSpvConcernant.Count > 0 || m_dicEquipementsSpvConcernant.Count > 0))//Pas de schéma
                {
                    m_etatOperationnel = EEtatOperationnelSchema.HS;
                }
            }
            finally
            {
                if (m_etatOperationnel != OldEtat)
                {
                    m_base.OnChangementEtatSupervise(this);
                }
            }
        }