Exemplo n.º 1
0
        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)
                    {
                        CSpvEquip equipement = CSpvEquip.GetObjetSpvFromObjetTimos((CEquipementLogique)eltAssocie);
                        if (equipement != null)
                        {
                            dicEquipementToNoeudArbreOp.Add(equipement.Id, noeudEntite);
                        }
                    }
                    else if (eltAssocie is CSite)
                    {
                        CSpvSite site = CSpvSite.GetObjetSpvFromObjetTimos((CSite)eltAssocie);
                        if (site != null)
                        {
                            dicSiteToNoeudArbreOp.Add(site.Id, noeudEntite);
                        }
                    }
                    else if (eltAssocie is CLienReseau)
                    {
                        CSpvLiai liaison = CSpvLiai.GetObjetSpvFromObjetTimos((CLienReseau)eltAssocie);
                        if (liaison != null)
                        {
                            dicLiaisonToNoeudArbreOp.Add(liaison.Id, noeudEntite);
                        }
                    }
                    else if (eltAssocie is CSchemaReseau)
                    {
                        CSpvSchemaReseau schema = CSpvSchemaReseau.GetObjetSpvFromObjetTimos((CSchemaReseau)eltAssocie);
                        if (schema != null)
                        {
                            dicServiceToNoeudArbreOp.Add(schema.Id, noeudEntite);
                        }
                    }
                }
                catch { }
            }

            // Fonction récursive sur les noeuds fils
            foreach (CElementDeArbreOperationnel nodeFils in node.Fils)
            {
                FillDicsForNode(nodeFils,
                                dicEquipementToNoeudArbreOp,
                                dicSiteToNoeudArbreOp,
                                dicLiaisonToNoeudArbreOp,
                                dicServiceToNoeudArbreOp);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
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);
     }
 }