public override void FillDicsElementToNoeudsArbre(
            CDictionnaireElementToNoeudArbre dicEquipementToNoeudArbreOp,
            CDictionnaireElementToNoeudArbre dicSiteToNoeudArbreOp,
            CDictionnaireElementToNoeudArbre dicLiaisonToNoeudArbreOp,
            CDictionnaireElementToNoeudArbre dicServiceToNoeudArbreOp)
        {
            base.FillDicsElementToNoeudsArbre(
                dicEquipementToNoeudArbreOp,
                dicSiteToNoeudArbreOp,
                dicLiaisonToNoeudArbreOp,
                dicServiceToNoeudArbreOp);

            // Rempli les dictionnaires : Id élement -> liste de noeuds

            // Sens aller
            CElementDeArbreOperationnel noeudRacineA = m_arbreAller.ElementRacine;

            FillDicsForNode(noeudRacineA,
                            dicEquipementToNoeudArbreOp,
                            dicSiteToNoeudArbreOp,
                            dicLiaisonToNoeudArbreOp,
                            dicServiceToNoeudArbreOp);

            // Sens Retour
            CElementDeArbreOperationnel noeudRacineR = m_arbreRetour.ElementRacine;

            FillDicsForNode(noeudRacineR,
                            dicEquipementToNoeudArbreOp,
                            dicSiteToNoeudArbreOp,
                            dicLiaisonToNoeudArbreOp,
                            dicServiceToNoeudArbreOp);
        }
Пример #2
0
 //------------------------------------
 public virtual void FillDicsElementToNoeudsArbre(
     CDictionnaireElementToNoeudArbre dicEquipementToNoeudArbreOp,
     CDictionnaireElementToNoeudArbre dicSiteToNoeudArbreOp,
     CDictionnaireElementToNoeudArbre dicLiaisonToNoeudArbreOp,
     CDictionnaireElementToNoeudArbre dicServiceToNoeudArbreOp)
 {
     foreach (CInfoElementDeSchemaSupervise fils in m_listeFils)
     {
         fils.FillDicsElementToNoeudsArbre(
             dicEquipementToNoeudArbreOp,
             dicSiteToNoeudArbreOp,
             dicLiaisonToNoeudArbreOp,
             dicServiceToNoeudArbreOp);
     }
 }
        private void FillDicsForNode(CElementDeArbreOperationnel node,
                                     CDictionnaireElementToNoeudArbre dicEquipementToNoeudArbreOp,
                                     CDictionnaireElementToNoeudArbre dicSiteToNoeudArbreOp,
                                     CDictionnaireElementToNoeudArbre dicLiaisonToNoeudArbreOp,
                                     CDictionnaireElementToNoeudArbre dicServiceToNoeudArbreOp)
        {
            CElementDeArbreOperationnelEntite noeudEntite = node as CElementDeArbreOperationnelEntite;

            if (noeudEntite != null)
            {
                try
                {
                    IElementDeSchemaReseau eltAssocie = noeudEntite.Composant.GetElementAssocie(m_base.ContexteDonnee);

                    if (eltAssocie is CEquipementLogique)
                    {
                        dicEquipementToNoeudArbreOp.Add(eltAssocie.DbKey, noeudEntite);
                    }
                    else if (eltAssocie is CSite)
                    {
                        dicSiteToNoeudArbreOp.Add(eltAssocie.DbKey, noeudEntite);
                    }
                    else if (eltAssocie is CLienReseau)
                    {
                        dicLiaisonToNoeudArbreOp.Add(eltAssocie.DbKey, noeudEntite);
                    }
                    else if (eltAssocie is CSchemaReseau)
                    {
                        dicServiceToNoeudArbreOp.Add(eltAssocie.DbKey, noeudEntite);
                    }
                }
                catch { }
            }

            // Fonction récursive sur les noeuds fils
            foreach (CElementDeArbreOperationnel nodeFils in node.Fils)
            {
                FillDicsForNode(nodeFils,
                                dicEquipementToNoeudArbreOp,
                                dicSiteToNoeudArbreOp,
                                dicLiaisonToNoeudArbreOp,
                                dicServiceToNoeudArbreOp);
            }
        }