예제 #1
0
        private void TrouveLesConcernes(CSchemaReseau schema)
        {
            m_infoSchemaRacine = new CInfoSchemaDeSchemaSupervise(null, null, this, 0);
            m_infoSchemaRacine.InitFromSchema(schema);

            m_dicDirectementConcernesParEquipement.Clear();
            m_dicDirectementConcernesParLiaison.Clear();
            m_dicDirectementConcernesParSite.Clear();
            m_dicDirectementConcernesParEntiteSnmp.Clear();
            m_dicDirectementConcernesParServices.Clear();

            m_infoSchemaRacine.FillDicsConcernes(
                m_dicDirectementConcernesParSite,
                m_dicDirectementConcernesParLiaison,
                m_dicDirectementConcernesParEquipement,
                m_dicDirectementConcernesParEntiteSnmp,
                m_dicDirectementConcernesParServices);
        }
예제 #2
0
        internal override void InitFromElementDeSchema(CElementDeSchemaReseau eltDeSchema)
        {
            base.InitFromElementDeSchema(eltDeSchema);
            CSite site = eltDeSchema.Site;

            if (site == null)
            {
                throw new Exception("Bad element for supervision data ");
            }
            InitForSite(site);
            //Cherche les cablages pour ce site
            foreach (CSchemaReseau sousSchema in eltDeSchema.SchemaReseau.SchemaFils)
            {
                if (site.Equals(sousSchema.SiteApparenance))
                {
                    CInfoSchemaDeSchemaSupervise info = new CInfoSchemaDeSchemaSupervise(this, eltDeSchema, m_base, NiveauProfondeur + 1);
                    m_listeFils.Add(info);
                    info.InitFromSchema(sousSchema);
                    break;
                }
            }
        }
예제 #3
0
        internal override void InitFromElementDeSchema(CElementDeSchemaReseau elementDeSchema)
        {
            base.InitFromElementDeSchema(elementDeSchema);
            CLienReseau lien = elementDeSchema.LienReseau;

            if (lien == null)
            {
                throw new Exception("Bad element for supervision data ");
            }
            m_dbKeyLien = lien.DbKey;

            CSchemaReseau schemaDeLiaison = lien.SchemaReseau;

            if (schemaDeLiaison != null)
            {
                CInfoSchemaDeSchemaSupervise info = new CInfoSchemaDeSchemaSupervise(this, null, m_base, NiveauProfondeur + 1);
                m_listeFils.Add(info);
                info.InitFromSchema(schemaDeLiaison);
            }

            //Si pas de schéma ou que le schéma ne contient pas les sites
            bool bHasElement1         = false;
            bool bHasElement2         = false;
            IElementALiensReseau elt1 = lien.Element1;
            IElementALiensReseau elt2 = lien.Element2;

            if (schemaDeLiaison != null)
            {
                foreach (CElementDeSchemaReseau elt in schemaDeLiaison.ElementsDeSchema)
                {
                    IElementALiensReseau eltAssocie = elt.ElementAssocie as IElementALiensReseau;
                    if (eltAssocie != null && eltAssocie.Equals(elt1))
                    {
                        bHasElement1 = true;
                    }
                    if (eltAssocie != null && eltAssocie.Equals(elt2))
                    {
                        bHasElement2 = true;
                    }
                    if (bHasElement1 && bHasElement2)
                    {
                        break;
                    }
                }
            }
            IElementALiensReseau extremite = lien.Element1;

            if (extremite is CSite)
            {
                m_dicSitesConcernant[extremite.DbKey] = true;
            }
            if (extremite is CEquipementLogique)
            {
                m_dicEquipementsConcernant[extremite.DbKey] = true;
            }
            extremite = lien.Element2;
            if (extremite is CSite)
            {
                m_dicSitesConcernant[extremite.DbKey] = true;
            }
            if (extremite is CEquipement)
            {
                m_dicEquipementsConcernant[extremite.DbKey] = true;
            }
            m_dicLiaisonsConcernant[lien.DbKey] = true;
        }