/// ////////////////////////////////////////////////////// private void m_btnTester_Click(object sender, System.EventArgs e) { C2iExpression expression = GetExpression(); if (expression == null) { return; } if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is C2iTypeDonnee)) { CFormAlerte.Afficher(I.T("Select a data type|30026"), EFormAlerteType.Exclamation); return; } TypeDonnee tp = ((C2iTypeDonnee)m_cmbType.SelectedItem).TypeDonnee; object obj = CObjetForTestValeurChampCustom.GetNewForTypeDonnee(tp, null, m_txtTest.Text); CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(obj); CResultAErreur result = expression.Eval(ctx); if (!result) { result.EmpileErreur(I.T("Error during validation formula evaluation|30027")); CFormAlerte.Afficher(result); return; } if ((result.Data is bool && (bool)result.Data) || result.Data.ToString() == "1") { CFormAlerte.Afficher(I.T("Accepted value|30028")); } else { CFormAlerte.Afficher(I.T("Rejected value|30029"), EFormAlerteType.Erreur); } }
/// ///// ///// ///// ///// ///// ///// ///// ///// // protected CResultAErreur TesteValeur(object valeur) { CResultAErreur result = CResultAErreur.True; 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); }
/// ////////////////////////////////////////////////////// protected C2iExpression GetExpression() { if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is C2iTypeDonnee)) { CFormAlerte.Afficher(I.T("Enter a data type|30023"), EFormAlerteType.Exclamation); return(null); } C2iTypeDonnee typeDonnees = (C2iTypeDonnee)m_cmbType.SelectedItem; CContexteAnalyse2iExpression ctx = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(true), CObjetForTestValeurChampCustom.GetNewForTypeDonnee(typeDonnees.TypeDonnee, null, null).GetType()); CAnalyseurSyntaxique analyseur = new CAnalyseurSyntaxiqueExpression(ctx); CResultAErreur result = analyseur.AnalyseChaine(m_txtFormuleValidation.Text); if (!result) { CFormAlerte.Afficher(result); return(null); } return((C2iExpression)result.Data); }