示例#1
0
        internal void OnChangeVariable(IVariableDynamique variable)
        {
            CDefinitionProprieteDynamique defProp = new CDefinitionProprieteDynamiqueVariableDynamique(variable as CVariableDynamique);

            if (FormuleSelectionObjet != null)
            {
                foreach (C2iExpressionChamp expChamp in FormuleSelectionObjet.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamiqueVariableDynamique defVar = expChamp.DefinitionPropriete as CDefinitionProprieteDynamiqueVariableDynamique;
                    if (defVar != null && defVar.IdChamp == variable.IdVariable)
                    {
                        expChamp.DefinitionPropriete = defProp;
                    }
                }
            }
            if (FormuleCondition != null)
            {
                foreach (C2iExpressionChamp expChamp in FormuleCondition.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamiqueVariableDynamique defVar = expChamp.DefinitionPropriete as CDefinitionProprieteDynamiqueVariableDynamique;
                    if (defVar != null && defVar.IdChamp == variable.IdVariable)
                    {
                        expChamp.DefinitionPropriete = defProp;
                    }
                }
            }
            foreach (CMacroObjetValeur mv in Valeurs)
            {
                mv.OnChangeVariable(variable);
            }
        }
示例#2
0
        //-------------------------------------------------------------
        public virtual CDefinitionProprieteDynamique[] GetProprietesInstance()
        {
            List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>();

            foreach (I2iObjetGraphique objet in Childs)
            {
                CODEQBase instance = objet as CODEQBase;
                if (instance != null)
                {
                    DataTable table = new DataTable();
                    foreach (IColumnDeEasyQuery col in instance.Columns)
                    {
                        try
                        {
                            table.Columns.Add(col.ColumnName, col.DataType);
                        }
                        catch { }
                    }
                    lst.Add(new CDefinitionProprieteDynamiqueDataTable(instance.NomFinal, table));
                }
            }
            foreach (IVariableDynamique variable in ListeVariables)
            {
                bool bHasSubs = CFournisseurGeneriqueProprietesDynamiques.HasSubProperties(variable.TypeDonnee.TypeDotNetNatif);
                if (variable is CVariableDynamique)
                {
                    CDefinitionProprieteDynamique def = new CDefinitionProprieteDynamiqueVariableDynamique(variable as CVariableDynamique, bHasSubs);
                    lst.Add(def);
                }
            }
            return(lst.ToArray());
        }
示例#3
0
        /// /////////////////////////////////////////////////////////////
        public CDefinitionProprieteDynamique[] GetProprietesInstance()
        {
            List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>();

            foreach (CVariableDynamique variable in ListeVariables)
            {
                bool bHasSubs = !variable.TypeDonnee.IsArrayOfTypeNatif && CFournisseurGeneriqueProprietesDynamiques.HasSubProperties(variable.TypeDonnee.TypeDotNetNatif);
                CDefinitionProprieteDynamique def = new CDefinitionProprieteDynamiqueVariableDynamique(variable, bHasSubs);
                lst.Add(def);
            }
            return(lst.ToArray());
        }
示例#4
0
        internal void OnChangeVariable(IVariableDynamique variable)
        {
            CDefinitionProprieteDynamique defProp = new CDefinitionProprieteDynamiqueVariableDynamique(variable as CVariableDynamique);

            if (FormuleValeur != null)
            {
                foreach (C2iExpressionChamp expChamp in FormuleValeur.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamiqueVariableDynamique defVar = expChamp.DefinitionPropriete as CDefinitionProprieteDynamiqueVariableDynamique;
                    if (defVar != null && defVar.IdChamp == variable.IdVariable)
                    {
                        expChamp.DefinitionPropriete = defProp;
                    }
                }
            }
        }
示例#5
0
        //-------------------------------------------------------------
        public virtual CDefinitionProprieteDynamique[] GetProprietesInstance()
        {
            if (m_elementAVariablesExternes != null)
            {
                return(m_elementAVariablesExternes.GetProprietesInstance());
            }
            List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>();

            foreach (IVariableDynamique variable in ListeVariables)
            {
                CDefinitionProprieteDynamiqueVariableDynamique def = new CDefinitionProprieteDynamiqueVariableDynamique(
                    variable);
                lst.Add(def);
            }
            return(lst.ToArray());
        }
示例#6
0
        internal void CreateVariable(CObjetDonnee objet)
        {
            CVariableDynamiqueSelectionObjetDonnee variable = new CVariableDynamiqueSelectionObjetDonnee(Macro);

            if (objet != null)
            {
                variable.Nom = objet.DescriptionElement.Trim().Replace("[", "-").Replace("]", "-");
            }
            else
            {
                variable.Nom = "V" + variable.IdVariable;
            }
            CFiltreDynamique filtre = new CFiltreDynamique(Macro, Macro.ContexteDonnee);

            filtre.TypeElements          = TypeObjet;
            variable.FiltreSelection     = filtre;
            variable.ExpressionRetournee = new C2iExpressionThis(TypeObjet);
            string strField = DescriptionFieldAttribute.GetDescriptionField(TypeObjet, "DescriptionElement");

            if (strField != "")
            {
                CDefinitionProprieteDynamiqueDotNet def = new CDefinitionProprieteDynamiqueDotNet(
                    strField,
                    strField,
                    new CTypeResultatExpression(typeof(string), false),
                    false,
                    true,
                    "");
                variable.ExpressionAffichee = new C2iExpressionChamp(def);
            }
            Macro.AddVariable(variable);
            Macro.SetInitialValue(variable, objet as CObjetDonneeAIdNumerique);
            m_strIdVariableAssociee = variable.IdVariable;
            CDefinitionProprieteDynamiqueVariableDynamique defSource = new CDefinitionProprieteDynamiqueVariableDynamique(variable);

            FormuleSelectionObjet = new C2iExpressionChamp(defSource);
        }