//------------------------------------------
        public CEntiteSnmpPourSupervision GetEntiteDeTest()
        {
            CEntiteSnmpPourSupervision entite = new CEntiteSnmpPourSupervision(new CMemoryDb());

            entite.CreateNew();
            entite.TypeEntite = this;
            return(entite);
        }
示例#2
0
        public CResultAErreur SetValue(object objet, string strPropriete, object valeur)
        {
            CResultAErreur             result = CResultAErreur.True;
            CEntiteSnmpPourSupervision entite = objet as CEntiteSnmpPourSupervision;

            if (entite != null)
            {
                entite.SetValeurChamp(strPropriete, valeur);
            }
            return(result);
        }
示例#3
0
        public CResultAErreur GetValue(object objet, string strPropriete)
        {
            CResultAErreur             result = CResultAErreur.True;
            CEntiteSnmpPourSupervision entite = objet as CEntiteSnmpPourSupervision;

            if (entite != null)
            {
                result.Data = entite.GetValeurChamp(strPropriete);
            }
            return(result);
        }
        //-------------------------------------
        public CResultAErreur FillFromSNMP(CInterrogateurSnmp agent)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                agent.Connexion.Version  = SnmpVersion;
                agent.ConnexionIp        = Ip;
                agent.ConnexionPort      = SnmpPort;
                agent.ConnexionCommunity = Communaute;
                CEasyQuerySource source = new CEasyQuerySource();
                source.Connexion = new CSnmpConnexionForEasyQuery(agent);
                if (TypeAgent != null)
                {
                    foreach (CTypeEntiteSnmpPourSupervision typeEntite in TypeAgent.TypesEntites)
                    {
                        //Repere tous les existants
                        Dictionary <string, CEntiteSnmpPourSupervision> dicEntites = new Dictionary <string, CEntiteSnmpPourSupervision>();
                        foreach (CEntiteSnmpPourSupervision entite in GetEntites(typeEntite))
                        {
                            string strIndex = entite.Index;
                            if (strIndex != null)
                            {
                                dicEntites[strIndex] = entite;
                            }
                        }
                        //récupère les données de la table
                        CODEQBase objetDeQuery = typeEntite.GetObjetDeQuery(TypeAgent);
                        if (objetDeQuery != null)
                        {
                            CEasyQueryFromEasyQueryASourcesSpecifique query = new CEasyQueryFromEasyQueryASourcesSpecifique(objetDeQuery.Query, source);
                            DataTable table = query.GetTable(objetDeQuery.NomFinal);
                            if (table != null)
                            {
                                foreach (DataRow row in table.Rows)
                                {
                                    CEntiteSnmpPourSupervision entite = new CEntiteSnmpPourSupervision(Database);
                                    entite.CreateNew();
                                    entite.AgentSnmp  = this;
                                    entite.TypeEntite = typeEntite;
                                    entite.FillFromSource(row);
                                    entite.UpdateIndexEtLibelle();
                                    string strIndex = entite.Index;
                                    //Si l'entité existe déjà
                                    CEntiteSnmpPourSupervision oldEntite = Entites.FirstOrDefault(
                                        e => e.Index == strIndex &&
                                        e.TypeEntite.Id == typeEntite.Id &&
                                        e.Id != entite.Id);
                                    if (oldEntite != null)
                                    {
                                        oldEntite.FillFromSource(row);
                                        entite.Delete();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }