示例#1
0
 //----------------------------------------------------
 public void UpdateAgentIpFromMediation(string strAgentId, string strNewIp, bool bUpdateTimosDb)
 {
     if (bUpdateTimosDb)
     {
         AssureSessionEtContexte();
         int nIdAgent = -1;
         if (Int32.TryParse(strAgentId, out nIdAgent) && m_contexteDonnee != null)
         {
             using (CContexteDonnee ctxEdit = m_contexteDonnee.GetContexteEdition())
             {
                 CAgentSnmp agent = new CAgentSnmp(ctxEdit);
                 if (agent.ReadIfExists(nIdAgent))
                 {
                     agent.SnmpIp = strNewIp;
                     ctxEdit.EnableTraitementsAvantSauvegarde = false;
                     ctxEdit.EnableTraitementsExternes        = false;
                     ctxEdit.CommitEdit();
                 }
             }
         }
     }
 }
示例#2
0
        //-------------------------------------------------------------------
        /// <summary>
        /// Fait un traitement global avant sauvegarde pour s'assurer que tous les éléments
        /// qui imposent une mise à jour de l'agent SNMP ont bien préparé la liste des agents
        /// à mettre à jour.
        /// </summary>
        /// <param name="contexte"></param>
        /// <param name="tableData"></param>
        /// <param name="result"></param>
        public static CResultAErreur CContexteDonneeServeur_DoTraitementExterneAvantSauvegarde(CContexteDonnee contexte, Hashtable tableData)
        {
            CResultAErreur    result = CResultAErreur.True;
            HashSet <DataRow> rows   = GetTableAgentsAMettreAJourToSnmp(contexte, false);

            if (rows != null)
            {
                foreach (DataRow row in rows)
                {
                    CAgentSnmp agent = new CAgentSnmp(row);
                    try
                    {
                        if (agent.AutoUpdate)
                        {
                            result = agent.UpdateToSnmpInCurrentContext(true);
                        }
                    }
                    catch (Exception e)
                    {
                        result.EmpileErreur(new CErreurException(e));
                    }
                    if (!result)
                    {
                        string strTexte = I.T("Error while update SNMP agent @1|20157", agent.SnmpIp);
                        strTexte += "\r\n";
                        strTexte += result.Erreur.ToString();
                        C2iEventLog.WriteErreur(strTexte);
                    }
                    result = CResultAErreur.True;
                }
            }
            DataTable table = contexte.Tables[CAgentSnmp.c_nomTable];

            if (table != null)
            {
                table.ExtendedProperties.Remove(c_cleDataAgentsAMettreAjour);
            }
            return(result);
        }