Esempio n. 1
0
        /// ////////////////////////////////////////////////////////

        /// <summary>
        /// Ajoute les ids des variables utilisées par une expression à une hashtable
        /// </summary>
        /// <param name="expression"></param>
        /// <param name="table"></param>
        protected void AddIdVariablesExpressionToHashtable(C2iExpression expression, Hashtable table)
        {
            if (expression != null)
            {
                foreach (C2iExpressionChamp exp in expression.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamique prop = exp.DefinitionPropriete;
                    if (prop is CDefinitionProprieteDynamiqueVariableDynamique)
                    {
                        table[((CDefinitionProprieteDynamiqueVariableDynamique)prop).IdChamp] = true;
                    }
                }
            }
        }
Esempio n. 2
0
 protected override void FillListeProprietesUtilisees(System.Collections.Generic.HashSet <CDefinitionProprieteDynamique> def)
 {
     base.FillListeProprietesUtilisees(def);
     if (m_expression != null)
     {
         ArrayList lst = m_expression.ExtractExpressionsType(typeof(C2iExpressionChamp));
         foreach (C2iExpressionChamp exp in lst)
         {
             if (exp.DefinitionPropriete != null)
             {
                 def.Add(exp.DefinitionPropriete);
             }
         }
     }
 }
Esempio n. 3
0
 /// //////////////////////////////////////////////////
 protected void OnChangeVariable(CFiltreDynamique filtre, C2iExpression expression, CVariableDynamique variable)
 {
     if (expression == null)
     {
         return;
     }
     foreach (C2iExpressionChamp exp in expression.ExtractExpressionsType(typeof(C2iExpressionChamp)))
     {
         if (exp.DefinitionPropriete is CDefinitionProprieteDynamiqueVariableDynamique)
         {
             CDefinitionProprieteDynamiqueVariableDynamique def = (CDefinitionProprieteDynamiqueVariableDynamique)exp.DefinitionPropriete;
             if (def.IdChamp == variable.IdVariable)
             {
                 def = new CDefinitionProprieteDynamiqueVariableDynamique(variable);
                 exp.DefinitionPropriete = def;
             }
         }
     }
 }
Esempio n. 4
0
 /// //////////////////////////////////////////////////
 protected bool DoesExpressionUtiliseVariable(C2iExpression expression, CVariableDynamique variable)
 {
     if (expression == null)
     {
         return(false);
     }
     foreach (C2iExpressionChamp exp in expression.ExtractExpressionsType(typeof(C2iExpressionChamp)))
     {
         if (exp.DefinitionPropriete is CDefinitionProprieteDynamiqueVariableDynamique)
         {
             CDefinitionProprieteDynamiqueVariableDynamique def = (CDefinitionProprieteDynamiqueVariableDynamique)exp.DefinitionPropriete;
             if (def.IdChamp == variable.IdVariable)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Esempio n. 5
0
        //-------------------------------------------------
        private CResultAErreurType <C2iExpression> GetFormuleFinaleForEntite(CEntiteSnmp entite)
        {
            CResultAErreurType <C2iExpression> result = new CResultAErreurType <C2iExpression>();

            if (m_formulePolling == null)
            {
                result.EmpileErreur(I.T("Can not apply formula to entity @1|20254",
                                        entite.Libelle));
                return(result);
            }
            C2iExpression formule = CCloner2iSerializable.Clone(m_formulePolling) as C2iExpression;
            ArrayList     lst     = formule.ExtractExpressionsType(typeof(C2iExpressionChamp));

            foreach (C2iExpressionChamp exp in lst)
            {
                CDefinitionProprieteDynamiqueChampCustom def = exp.DefinitionPropriete as CDefinitionProprieteDynamiqueChampCustom;
                string strOID = null;
                if (def != null)
                {
                    CChampCustom champ = new CChampCustom(CContexteDonneeSysteme.GetInstance());
                    if (champ.ReadIfExists(def.DbKeyChamp))
                    {
                        strOID = entite.GetFieldOID(champ.Id);
                        if (strOID.Trim().Length == 0)
                        {
                            strOID = null;
                        }
                        else
                        {
                            exp.DefinitionPropriete = new CDefinitionProprieteDynamiqueOID(strOID);
                        }
                    }
                }
                if (strOID == null)
                {
                    result.EmpileErreur(I.T("Can not find SNMP field for @1|20255", def.Nom));
                    return(result);
                }
            }
            result.Data = formule;
            return(result);
        }
 //------------------------------------------------------------------------
 public bool DoesUse(object objetUtilisateur, object objetCherche)
 {
     if (objetCherche is CDefinitionProprieteDynamique)
     {
         C2iExpression formule = objetUtilisateur as C2iExpression;
         if (formule != null)
         {
             IEnumerable <C2iExpressionChamp> lstExps = from C2iExpressionChamp expChamp in formule.ExtractExpressionsType(typeof(C2iExpressionChamp))
                                                        where expChamp.DefinitionPropriete != null && expChamp.DefinitionPropriete.Equals(objetCherche)
                                                        select expChamp;
             if (lstExps.Count() > 0)
             {
                 return(true);
             }
         }
     }
     return(false);
 }