Пример #1
0
        public override CResultAErreur MyInitChamps()
        {
            if (ObjetEdite is CSite)
            {
                m_spvSite = CSpvSite.GetObjetSpvFromObjetTimos(ObjetEdite as CSite) as CSpvSite;
            }
            CResultAErreur result = base.MyInitChamps();

            if (!result)
            {
                return(result);
            }

            if (m_spvSite == null)
            {
                CFiltreDataImpossible filtreImpossible = new CFiltreDataImpossible();
                CListeObjetsDonnees   listeVideProg    = new CListeObjetsDonnees(ObjetEdite.ContexteDonnee, typeof(CSpvSchemaReseau));
                listeVideProg.Filtre = filtreImpossible;

                m_PanelPrestations.InitFromListeObjets(
                    listeVideProg, typeof(CSpvSchemaReseau), null, null, "SpvSite");
            }
            else
            {
                m_PanelPrestations.InitFromListeObjets(
                    m_spvSite.PrestationsConcernees,
                    typeof(CSpvSchemaReseau),
                    typeof(CFormEditSpvProg), //to be changed
                    m_spvSite,
                    "SpvSite");
            }

            return(result);
        }
Пример #2
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);
            }
        }
Пример #3
0
 public void CreateGraphe(CSchemaReseau schema)
 {
     m_liens.Clear();
     m_noeuds.Clear();
     //Création des noeuds
     foreach (CSite site in schema.GetElementsLies <CSite>())
     {
         CSpvSite spvSite = CSpvSite.GetObjetSpvFromObjetTimos(site);
         if (spvSite != null)
         {
             if (GetNoeud(spvSite) == null)
             {
                 m_noeuds.Add(new CNoeud(spvSite));
             }
         }
     }
     foreach (CLienReseau lien in schema.GetElementsLies <CLienReseau>())
     {
         CSpvLiai spvLiai = CSpvLiai.GetSpvLiaiFromLienReseau(lien) as CSpvLiai;
         if (spvLiai != null)
         {
             CNoeud noeud1 = GetNoeud(spvLiai.SiteOrigine);
             CNoeud noeud2 = GetNoeud(spvLiai.SiteDestination);
             if (noeud1 != null && noeud2 != null)
             {
                 m_liens.Add(new CLien(spvLiai, noeud1, noeud2));
             }
         }
     }
 }
Пример #4
0
        public static Hashtable GetElementsAPrendreEnCoursPourChemins(CSchemaReseau schema,
                                                                      CSite siteOrigine, CSite siteDestination)
        {
            Hashtable tableElementsAPrendreEnCompte = new Hashtable();
            CGraphe   graphe = new CGraphe();

            graphe.CreateGraphe(schema);
            CSpvSite spvOrigine = CSpvSite.GetObjetSpvFromObjetTimos(siteOrigine);
            CSpvSite spvDest    = CSpvSite.GetObjetSpvFromObjetTimos(siteDestination);

            if (spvDest != null)
            {
                List <CChemin> chemins = graphe.GetChemins(spvOrigine, spvDest);
                foreach (CChemin chemin in chemins)
                {
                    foreach (CPassageChemin passage in chemin.Passages)
                    {
                        tableElementsAPrendreEnCompte[passage.SiteSource] = true;
                        if (passage.LiaisonUtilisee != null)
                        {
                            tableElementsAPrendreEnCompte[passage.LiaisonUtilisee] = true;
                        }
                    }
                }
            }
            return(tableElementsAPrendreEnCompte);
        }
Пример #5
0
        public CNoeud GetNoeud(CSpvSite site)
        {
            CNoeud noeud = null;

            if (m_dicSiteToNoeud.TryGetValue(site, out noeud))
            {
                return(noeud);
            }
            return(null);
        }
Пример #6
0
        public List <CChemin> GetChemins(CSpvSite siteOrigine, CSpvSite siteDestination)
        {
            List <CChemin> lstFinale   = new List <CChemin>();
            CNoeud         noeudDepart = GetNoeud(siteOrigine);
            CNoeud         noeudFinal  = GetNoeud(siteDestination);
            CChemin        chemin      = new CChemin();

            FindChemins(chemin, noeudDepart, noeudFinal, lstFinale);
            return(lstFinale);
        }
Пример #7
0
 public bool PasseParSite(CSpvSite site)
 {
     foreach (CPassageChemin passage in m_listePassages)
     {
         if (site.Id == passage.SiteSource.Id)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #8
0
        internal void InitForSite(CSite site)
        {
            m_nIdSite = site.Id;

            CSpvSite spvSite = CSpvSite.GetObjetSpvFromObjetTimos(site);

            if (spvSite != null)
            {
                m_nIdSiteSpv = spvSite.Id;
                m_dicSitesSpvConcernant[spvSite.Id] = true;
            }
        }
Пример #9
0
        public CSpvSite GetSpvSiteByName(CContexteDonnee ctx)
        {
            CFiltreData filtre = new CFiltreData(CSpvSite.c_champSITE_NOM + "=@1",
                                                 Name);
            CSpvSite spvSite = new CSpvSite(ctx);

            if (spvSite.ReadIfExists(filtre))
            {
                return(spvSite);
            }

            return(null);
        }
Пример #10
0
        public CSpvSite GetSpvSite(CContexteDonnee contexteDonnee)
        {
            if ((m_nId == null || m_nId == 0) && Name.Length > 0)
            {
                return(GetSpvSiteByName(contexteDonnee));
            }

            if (m_nId == null)
            {
                return(null);
            }

            CSpvSite site = new CSpvSite(contexteDonnee);

            if (site.ReadIfExists((int)m_nId))
            {
                return(site);
            }

            return(null);
        }
Пример #11
0
        }//MyInitChamps()

        public override sc2i.common.CResultAErreur MyMajChamps()
        {
            CResultAErreur result = base.MyMajChamps();

            if (!result)
            {
                return(result);
            }

            if (LeSite != null && m_spvSite == null && m_extModeEdition.ModeEdition)
            {
                m_spvSite = CSpvSite.GetObjetSpvFromObjetTimosAvecCreation(LeSite);
            }

            if (m_spvSite != null)
            {
                m_spvSite.DomaineIP      = m_txtBoxDomaineIp.Text;
                m_spvSite.SNMP_Community = m_txtBoxCommunity.Text;
                m_spvSite.EmName         = m_txtBoxMediation.Text;
            }

            return(result);
        }
Пример #12
0
        private void OnLstSitesDoubleClick(object sender, EventArgs e)
        {
            if (m_lstSites.SelectedIndices.Count > 0)
            {
                int index = m_lstSites.SelectedIndices[0];

                CSpvSite siteSpv = ((CInfoSiteAlarmeAffichee)m_lstSites.Items[index]).GetSpvSiteByName(m_ctxDonnee);

                if (siteSpv != null)
                {
                    CSite site = siteSpv.ObjetTimosAssocie;

                    if (site != null)
                    {
                        CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(site.GetType());
                        if (refTypeForm != null)
                        {
                            IFormNavigable frm = refTypeForm.GetForm(site) as IFormNavigable;
                            Navigateur.AffichePage(frm);
                        }
                    }
                }
            }
        }
Пример #13
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_nIdLienSmt = lien.Id;
            CSpvLiai liaisonSpv = CSpvLiai.GetObjetSpvFromObjetTimos(lien);

            if (liaisonSpv != null)
            {
                m_dicLiaisonsSpvConcernant[liaisonSpv.Id] = true;
                m_nIdLienSpv = liaisonSpv.Id;
            }
            /* */
            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;
                    }
                }
            }
            CSpvSite  site  = new CSpvSite(m_base.ContexteDonnee);
            CSpvEquip equip = new CSpvEquip(m_base.ContexteDonnee);

            if (!bHasElement1)
            {
                if (elt1 is CSite)
                {
                    if (site.ReadIfExists(new CFiltreData(CSpvSite.c_champSmtSite_Id + "=@1", elt1.Id), false))
                    {
                        m_dicSitesSpvConcernant[site.Id] = true;
                    }
                }
                else if (elt1 is CEquipementLogique)
                {
                    if (equip.ReadIfExists(new CFiltreData(CSpvEquip.c_champSmtEquipementLogique_Id + "=@1", elt1.Id), false))
                    {
                        m_dicEquipementsSpvConcernant[equip.Id] = true;
                    }
                }
            }
            if (!bHasElement2)
            {
                if (elt2 is CSite)
                {
                    if (site.ReadIfExists(new CFiltreData(CSpvSite.c_champSmtSite_Id + "=@1", elt2.Id), false))
                    {
                        m_dicSitesSpvConcernant[site.Id] = true;
                    }
                }
                else if (elt2 is CEquipementLogique)
                {
                    if (equip.ReadIfExists(new CFiltreData(CSpvEquip.c_champSmtEquipementLogique_Id + "=@1", elt2.Id), false))
                    {
                        m_dicEquipementsSpvConcernant[equip.Id] = true;
                    }
                }
            }
        }
Пример #14
0
        public override sc2i.common.CResultAErreur MyInitChamps()
        {
            if (ObjetEdite is CSite)
            {
                m_spvSite = CSpvSite.GetObjetSpvFromObjetTimos(ObjetEdite as CSite) as CSpvSite;
            }
            CResultAErreur result = base.MyInitChamps();

            if (!result)
            {
                return(result);
            }

            if (result && m_spvSite != null)
            {
                m_txtBoxCommunity.Text = m_spvSite.SNMP_Community;
                m_txtBoxDomaineIp.Text = m_spvSite.DomaineIP;
                m_txtBoxMediation.Text = m_spvSite.EmName;

                m_PanelTypeAccessAlarm.InitFromListeObjets(
                    m_spvSite.SpvTypeAccessAlarm,
                    typeof(CSpvTypeAccesAlarme),
                    typeof(CFormEditionTypeAccesAlarmeBoucle),
                    m_spvSite,
                    "SpvSite");

                m_CablageAccesAlarm.InitFromListeObjets(
                    m_spvSite.AlarmesCables,
                    typeof(CSpvLienAccesAlarme),
                    typeof(CFormEditionCablageAccesAlarmeBoucle),
                    m_spvSite,
                    "SpvSite");
            }
            else
            {
                m_txtBoxMediation.Text = "";
                m_txtBoxDomaineIp.Text = "";
                m_txtBoxCommunity.Text = "";
            }

            if (m_spvSite == null)
            {
                CFiltreDataImpossible filtreImpossible = new CFiltreDataImpossible();
                CListeObjetsDonnees   listeVideAlarme  = new CListeObjetsDonnees(ObjetEdite.ContexteDonnee, typeof(CSpvTypeAccesAlarme));
                CListeObjetsDonnees   listeVideAccesc  = new CListeObjetsDonnees(ObjetEdite.ContexteDonnee, typeof(CSpvLienAccesAlarme));
                listeVideAlarme.Filtre = filtreImpossible;
                listeVideAccesc.Filtre = filtreImpossible;

                m_PanelTypeAccessAlarm.InitFromListeObjets(
                    listeVideAlarme,
                    typeof(CSpvTypeAccesAlarme),
                    typeof(CFormEditionTypeAccesAlarmeBoucle),
                    null,
                    "SpvSite");

                m_CablageAccesAlarm.InitFromListeObjets(
                    listeVideAccesc,
                    typeof(CSpvLienAccesAlarme),
                    typeof(CFormEditionCablageAccesAlarmeBoucle),
                    null,
                    "SpvSite");
            }
            return(result);
        }//MyInitChamps()
Пример #15
0
 public CPassageChemin(CSpvSite siteSource, CSpvLiai liaiUtilisee)
 {
     m_siteSource   = siteSource;
     m_liaiUtilisee = liaiUtilisee;
 }
Пример #16
0
 public CNoeud(CSpvSite site)
 {
     m_site = site;
 }