Example #1
0
        //---------------------------------------------------------------------------
        public object GetValeurChamp(string strIdVariable)
        {
            if (m_elementAVariablesExternes != null)
            {
                return(m_elementAVariablesExternes.GetValeurChamp(strIdVariable));
            }
            object ret = null;

            if (!m_dicValeursVariables.ContainsKey(strIdVariable))
            {
                IVariableDynamique variable = GetVariable(strIdVariable);
                IVariableDynamiqueAValeurParDefaut variableADefaut = variable as IVariableDynamiqueAValeurParDefaut;
                if (variableADefaut != null)
                {
                    return(variableADefaut.GetValeurParDefaut());
                }
                IVariableDynamiqueCalculee variableCalculee = variable as IVariableDynamiqueCalculee;
                if (variableCalculee != null && variableCalculee.FormuleDeCalcul != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(this);
                    CResultAErreur result             = variableCalculee.FormuleDeCalcul.Eval(ctx);
                    if (result)
                    {
                        return(result.Data);
                    }
                }
            }

            m_dicValeursVariables.TryGetValue(strIdVariable, out ret);
            return(ret);
        }
Example #2
0
        //--------------------------------------------------------------
        public object GetValeurChamp(string strCleVariable)
        {
            object val = null;

            m_dicValeursChamps.TryGetValue(strCleVariable, out val);
            if (val == null)
            {
                if (!m_dicValeursChamps.ContainsKey(strCleVariable))
                {
                    foreach (IVariableDynamique v in ListeVariables)
                    {
                        if (v.IdVariable == strCleVariable)
                        {
                            IVariableDynamiqueAValeurParDefaut vAvecDef = v as IVariableDynamiqueAValeurParDefaut;
                            if (vAvecDef != null)
                            {
                                val = vAvecDef.GetValeurParDefaut();
                            }
                            else
                            {
                                IVariableDynamiqueCalculee varCalc = v as IVariableDynamiqueCalculee;
                                if (varCalc != null)
                                {
                                    if (varCalc.FormuleDeCalcul != null)
                                    {
                                        CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(this);
                                        CResultAErreur res = varCalc.FormuleDeCalcul.Eval(ctx);
                                        if (res)
                                        {
                                            return(res.Data);
                                        }
                                    }
                                    return(null);
                                }
                            }
                            break;
                        }
                    }
                }
                m_dicValeursChamps[strCleVariable] = val;
            }
            return(val);
        }