Ejemplo n.º 1
0
 /// <summary>
 /// Retourne true si une clé de l'agent correspond au finder
 /// </summary>
 /// <param name="agent"></param>
 /// <returns></returns>
 public bool MatchAgent(CTrapInstance trap, CAgentSnmpPourSupervision agent)
 {
     if (FormuleCleSpecifique != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(trap);
         CResultAErreur result             = FormuleCleSpecifique.Eval(ctx);
         if (!result || result.Data == null)
         {
             return(false);
         }
         if (agent.TrapsIpString.Contains("," + result.Data.ToString() + ","))
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
        //------------------------------------------------------------------
        public CAgentSnmpPourSupervision[] GetAgentsFromKey(CTrapInstance trap)
        {
            CListeEntitesDeMemoryDb <CAgentSnmpPourSupervision> lstAgents =
                new CListeEntitesDeMemoryDb <CAgentSnmpPourSupervision>(Database);

            if (FormuleCleSpecifique != null)
            {
                CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(trap);
                CResultAErreur result             = FormuleCleSpecifique.Eval(ctx);
                if (result && result.Data != null && result.Data is string)
                {
                    lstAgents.Filtre = new CFiltreMemoryDb(
                        CAgentSnmpPourSupervision.c_champTrapsIp + " like @1",
                        "%," + (string)result.Data + ",%");

                    return(lstAgents.ToArray());
                }
            }

            return(new CAgentSnmpPourSupervision[] { });
        }