//------------------------------------------------------
        public CResultAErreur MajChamps(bool bControlerValeur)
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_elementAVariables != null && m_variable != null)
            {
                object valeur = null;
                if (m_control is ISelectionneurElementListeObjetsDonnees)
                {
                    valeur = ((ISelectionneurElementListeObjetsDonnees)m_control).ElementSelectionne;
                    if (m_variable is CVariableDynamiqueSelectionObjetDonnee)
                    {
                        CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(valeur);
                        CResultAErreur resTmp             = ((CVariableDynamiqueSelectionObjetDonnee)m_variable).ExpressionRetournee.Eval(ctx);
                        if (resTmp)
                        {
                            valeur = resTmp.Data;
                        }
                    }
                }
                m_elementAVariables.SetValeurChamp(m_variable.IdVariable, valeur);
                if (bControlerValeur)
                {
                    result = m_variable.VerifieValeur(valeur);
                }
            }
            return(result);
        }
        //------------------------------------------------------------------------------
        public CResultAErreur SetValeurChamp(IVariableDynamique variable, byte[] valeurSerializee)
        {
            CResultAErreur result = CResultAErreur.True;

            //Déserialise la valeur
            if (valeurSerializee == null)
            {
                m_elementAVariables.SetValeurChamp(variable, null);
            }
            else
            {
                result = ReadValeur(valeurSerializee, variable, m_contexeDonneeDistant);
                if (result)
                {
                    m_elementAVariables.SetValeurChamp(variable, result.Data);
                }
            }
            result.Data = null;//Car le result.data risque de contenir un élément non sérializable
            return(result);
        }
        //--------------------------------------------------
        public CResultAErreur MajChamps(bool bControlerValeur)
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_elementAVariables != null && m_variable != null)
            {
                m_elementAVariables.SetValeurChamp(m_variable.IdVariable, IntValue);
                if (bControlerValeur)
                {
                    result = m_variable.VerifieValeur(IntValue);
                }
            }
            return(result);
        }
Esempio n. 4
0
        /// ////////////////////////////////////////
        public CResultAErreur SetValue(object elementToModif, string strPropriete, object nouvelleValeur)
        {
            CResultAErreur     result       = CResultAErreur.True;
            IElementAVariables eltAVariable = elementToModif as IElementAVariables;

            if (eltAVariable == null)
            {
                //Cherche dans les objets associés à l'interpreteur de propriétés s'il y a
                //un eltAVariables
                object[] objetsSupplementaires = CInterpreteurProprieteDynamique.AssociationsSupplementaires.GetObjetsAssocies(elementToModif);
                if (objetsSupplementaires != null)
                {
                    foreach (object obj in objetsSupplementaires)
                    {
                        eltAVariable = obj as IElementAVariables;
                        if (eltAVariable != null)
                        {
                            break;
                        }
                    }
                }
                if (eltAVariable == null)
                {
                    result.EmpileErreur(I.T("@1 : incorrect target|20020", strPropriete));
                    return(result);
                }
            }
            int nIdVariable = -1;

            try
            {
                nIdVariable = Int32.Parse(strPropriete);
            }
            catch
            {
                result.EmpileErreur(I.T("Bad format for dynamic variable (@1)|20031", strPropriete));
                return(result);
            }
            eltAVariable.SetValeurChamp(nIdVariable, nouvelleValeur);
            return(result);
        }
Esempio n. 5
0
        //------------------------------------------------------
        public CResultAErreur MajChamps(bool bControlerValeur)
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_elementAVariables != null && m_variable != null)
            {
                object value = Value;
                if (value is CDateTimeEx)
                {
                    value = ((CDateTimeEx)value).DateTimeValue;
                }
                else if (value == null || !typeof(DateTime).IsAssignableFrom(value.GetType()))
                {
                    value = null;
                }
                m_elementAVariables.SetValeurChamp(m_variable.IdVariable, value);
                if (bControlerValeur)
                {
                    result = m_variable.VerifieValeur(value);
                }
            }
            return(result);
        }