Ejemplo n.º 1
0
        //-------------------------------------------------------------------------
        private void CFormEditionFiltreDynamique_BeforeValideModification(object sender, sc2i.data.CObjetDonneeCancelEventArgs args)
        {
            CResultAErreur result = m_filtre.VerifieIntegrite();

            if (!result)
            {
                result.EmpileErreur(I.T("Error in Filter data|918"));
                CFormAlerte.Afficher(result.Erreur);
                args.Cancel = true;
            }
        }
        /// //////////////////////////////////////////////////////////
        private CResultAErreur FillVariable(CVariableDynamiqueSelectionObjetDonnee variable)
        {
            CResultAErreur result    = CResultAErreur.True;
            CResultAErreur resultTmp = CResultAErreur.True;

            m_txtNomVariable.Text = m_txtNomVariable.Text.Trim();

            if (m_txtNomVariable.Text == "")
            {
                result.EmpileErreur(I.T("Incorrect variable name|30030"));
            }

            resultTmp = m_filtreDynamique.VerifieIntegrite();
            if (!resultTmp)
            {
                resultTmp.EmpileErreur(I.T("Error in the filter|30031"));
                result &= resultTmp;
            }

            C2iExpression expressionValeurAffichee = null;

            C2iExpression expressionValeurRetournee = null;

            if (m_filtreDynamique.TypeElements != null)
            {
                CContexteAnalyse2iExpression   contexte  = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(true), m_filtreDynamique.TypeElements);
                CAnalyseurSyntaxiqueExpression analyseur = new CAnalyseurSyntaxiqueExpression(contexte);
                resultTmp = analyseur.AnalyseChaine(m_txtValeurAffichee.Text);
                if (!resultTmp)
                {
                    resultTmp.EmpileErreur(I.T("Error in displayed value formula|30032"));
                    result &= resultTmp;
                }
                else
                {
                    expressionValeurAffichee = (C2iExpression)resultTmp.Data;
                }


                resultTmp = analyseur.AnalyseChaine(m_txtValeurStockee.Text);
                if (!resultTmp)
                {
                    resultTmp.EmpileErreur(I.T("Error in returned value formula|30033"));
                    result &= resultTmp;
                }
                else
                {
                    expressionValeurRetournee = (C2iExpression)resultTmp.Data;
                }
            }
            if (result)
            {
                variable.FiltreSelection     = m_filtreDynamique;
                variable.ExpressionAffichee  = expressionValeurAffichee;
                variable.ExpressionRetournee = expressionValeurRetournee;
                variable.Nom                     = m_txtNomVariable.Text;
                variable.Description             = "";
                variable.CanBeNull               = m_chkCanBeNull.Checked;
                variable.TextNull                = m_txtNullValue.Text;
                variable.UtiliserRechercheRapide = m_chkRechercheRapide.Checked;
            }
            return(result);
        }