Пример #1
0
        /// ///// ///// ///// ///// ///// ///// ///// ///// //
        protected CResultAErreur TesteValeur(object valeur)
        {
            CResultAErreur result = CResultAErreur.True;

            if (TypeDonneeChamp.TypeDonnee == sc2i.data.dynamic.TypeDonnee.tObjetDonneeAIdNumeriqueAuto)
            {
                if (valeur != null && !TypeObjetDonnee.IsAssignableFrom(valeur.GetType()))
                {
                    result.EmpileErreur(I.T("The '@1' field value is incorrect|10007", LibelleConvivial));
                    return(result);
                }
            }

            object obj = CObjetForTestValeurChampCustom.GetNewFor(this, valeur);

            if (obj == null)
            {
                result.EmpileErreur(I.T("Impossible to test the value '@1'|10008", valeur.ToString()));
                return(result);
            }
            CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(obj);

            result = FormuleValidation.Eval(contexte);
            if (!result)
            {
                return(result);
            }
            if ((result.Data is bool && (bool)result.Data) || result.Data.ToString() == "1")
            {
                return(CResultAErreur.True);
            }
            else
            {
                result.Data = null;
                if (TexteErreurFormat != string.Empty)
                {
                    result.EmpileErreur(TexteErreurFormat);
                }
                else
                {
                    result.EmpileErreur(I.T("Incorect value in the field '@1'|244", this.Nom));
                }
            }
            return(result);
        }
Пример #2
0
        /// ///////////////////////////////////////////
        public override CResultAErreur VerifieValeur(object valeur)
        {
            CResultAErreur result = base.VerifieValeur(valeur);

            if (!result)
            {
                return(result);
            }
            if (ExpressionValidation == null)
            {
                return(result);
            }


            try
            {
                object obj = CObjetForTestValeurChampCustom.GetNewForTypeDonnee(
                    TypeDonnee2i.TypeDonnee, null, valeur);
                CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(obj);
                result = ExpressionValidation.Eval(contexte);
                if (!result)
                {
                    result.EmpileErreur(I.T("Error during validation of @1|240", Nom));
                    return(result);
                }
                if ((result.Data is bool && (bool)result.Data) || result.Data.ToString() == "1")
                {
                    return(CResultAErreur.True);
                }
                else
                {
                    result.EmpileErreur(this.DescriptionFormat);
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
                result.EmpileErreur(I.T("Error during validation of @1|240", Nom));
                return(result);
            }
            return(result);
        }