/// //////////////////////////////////////////
        private void OnChangeVariable()
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_variableEnCoursEdition != null)
            {
                if (m_txtFormuleVariable.Text.Trim() != "")
                {
                    result = GetFormule(m_txtFormuleVariable);
                    if (!result)
                    {
                        CFormAlerte.Afficher(result.Erreur);
                        return;
                    }
                    m_tableIdVariableToFormule[m_variableEnCoursEdition.IdVariable] = result.Data;
                }
                else
                {
                    m_tableIdVariableToFormule[m_variableEnCoursEdition.IdVariable] = null;
                }
            }
            if (m_wndListeVariables.SelectedItems.Count != 1)
            {
                m_variableEnCoursEdition     = null;
                m_txtFormuleVariable.Visible = true;
                return;
            }

            m_variableEnCoursEdition = (IVariableDynamique)m_wndListeVariables.SelectedItems[0].Tag;
            m_lblNomVariable.Text    = m_variableEnCoursEdition.Nom;
            C2iExpression expression = (C2iExpression)m_tableIdVariableToFormule[m_variableEnCoursEdition.IdVariable];

            m_txtFormuleVariable.Text = expression == null?"":expression.GetString();
        }
Esempio n. 2
0
        //-----------------------------------------------------------------
        protected override CResultAErreur MyMajChamps()
        {
            CResultAErreur result = base.MyMajChamps();

            if (result)
            {
                CParametreDroitEditionType.CCoupleFormuleToGroupeRestrictions couple = CoupleEdite;
                if (couple != null)
                {
                    C2iExpression formule = m_txtFormule.Formule;
                    if (!m_txtFormule.ResultAnalyse)
                    {
                        result.EmpileErreur(result.Erreur);
                    }
                    else
                    {
                        couple.Formule = formule;
                    }
                    m_lblFormule.Text = formule != null?formule.GetString() : "";

                    couple.SetGroupeRestrictions(m_txtGroupe.ElementSelectionne as CGroupeRestrictionSurType);
                    if (result)
                    {
                        result = couple.VerifieDonnees();
                    }
                }
            }
            return(result);
        }
Esempio n. 3
0
        /// ////////////////////////////////////////////////////////////////////////////
        private void m_btnEvaluer_Click(object sender, System.EventArgs e)
        {
            CContexteAnalyse2iExpression   ctx       = new CContexteAnalyse2iExpression(m_fournisseurProprietes, m_objetTest.GetType());
            CAnalyseurSyntaxiqueExpression analyseur = new CAnalyseurSyntaxiqueExpression(ctx);
            CResultAErreur result = analyseur.AnalyseChaine(m_txtFormule.Text);

            m_arbreAnalyse.Nodes.Clear();
            if (!result)
            {
                m_txtResult.Text = result.Erreur.ToString();
                return;
            }
            C2iExpression expression = (C2iExpression)result.Data;

            if (expression == null)
            {
                m_txtResult.Text = "Analyzed expression is null|30001";
                return;
            }
            m_txtResult.Text = "Expression :" + Environment.NewLine + expression.GetString() + Environment.NewLine + "**********************";
            FillNodes(m_arbreAnalyse.Nodes, expression);
            m_txtResult.Text += "Evaluation :" + Environment.NewLine;
            result            = expression.Eval(new CContexteEvaluationExpression(m_objetTest));
            if (!result)
            {
                m_txtResult.Text += result.Erreur.ToString();
            }
            else
            {
                m_txtResult.Text = result.Data.ToString();
            }
        }
 //-------------------------------------------------------------------
 public string GetLabel(CDonneesDeChart donnees)
 {
     if (m_formule != null)
     {
         return(m_formule.GetString());
     }
     return(LabelType);
 }
Esempio n. 5
0
        //--------------------------------------------------
        public string GetLibelle(IObjetDeEasyQuery table)
        {
            CColumnEQFromSource col = table.Columns.FirstOrDefault(c => c is CColumnEQFromSource && ((CColumnEQFromSource)c).IdColumnSource == m_strHotelColonneId) as CColumnEQFromSource;

            return((col != null ? col.ColumnName : "?") +
                   new COperateurComparaisonMassStorage(m_operateur).Libelle +
                   (m_formuleValeur != null ? m_formuleValeur.GetString() : "?"));
        }
Esempio n. 6
0
        private void FillNodes(TreeNodeCollection nodes, C2iExpression expression)
        {
            TreeNode node = nodes.Add(expression.IdExpression + " : " + expression.GetString());

            foreach (C2iExpression parametre in expression.Parametres)
            {
                FillNodes(node.Nodes, parametre);
            }
        }
Esempio n. 7
0
 /// //////////////////////////////////////////////////////
 public CDefinitionProprieteDynamiqueFormule(C2iExpression formule)
     : base(
         I.T("Reserved Formula Field|164"),
         formule.GetString(),
         formule.TypeDonnee,
         true,
         true)
 {
     m_formule = formule;
 }
Esempio n. 8
0
        /// //////////////////////////////////////////////////
        public override void DrawInterieur(CContextDessinObjetGraphique ctx)
        {
            Graphics g = ctx.Graphic;

            if (m_expression != null)
            {
                Text = m_expression.GetString();
            }
            else
            {
                Text = I.T("No formula|131");
            }
            base.DrawInterieur(ctx);
        }
Esempio n. 9
0
 public void Init(
     string strLibelle,
     C2iExpression formule,
     IFournisseurProprietesDynamiques fournisseur,
     Type typeInterroge)
 {
     m_lblLibelle.Text = strLibelle;
     if (formule != null)
     {
         m_txtFormule.Text = formule.GetString();
     }
     else
     {
         m_txtFormule.Text = null;
     }
     m_txtFormule.Init(fournisseur, typeInterroge);
 }
Esempio n. 10
0
        private void CFormEditProprieteExpression_Load(object sender, System.EventArgs e)
        {
            // Lance la traduction du formulaire
            sc2i.win32.common.CWin32Traducteur.Translate(this);

            m_wndAideFormule.ObjetInterroge        = m_objetPourSousProprietes;
            m_wndAideFormule.FournisseurProprietes = m_fournisseurProprietes;
            m_txtFormule.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);
            if (m_expression != null)
            {
                m_txtFormule.Text = m_expression.GetString();
            }
            else
            {
                m_txtFormule.Text = "";
            }
        }
Esempio n. 11
0
        private void m_wndListeChamps_MouseMove(object sender, MouseEventArgs e)
        {
            ListViewItem item = m_wndListeChamps.GetItemAt(e.X, e.Y);

            if (item != null && item != m_lastItemTooltip)
            {
                if (item.Tag is C2iChampExport)
                {
                    C2iChampExport champ = (C2iChampExport)item.Tag;
                    if (champ.Origine is C2iOrigineChampExportChamp)
                    {
                        m_tooltip.SetToolTip(m_wndListeChamps, ((C2iOrigineChampExportChamp)champ.Origine).ChampOrigine.Nom);
                        return;
                    }
                    if (champ.Origine is C2iOrigineChampExportExpression)
                    {
                        C2iExpression formule = ((C2iOrigineChampExportExpression)champ.Origine).Expression;
                        if (formule != null)
                        {
                            m_tooltip.SetToolTip(m_wndListeChamps, formule.GetString());
                            return;
                        }
                    }
                }
                else if (item.Tag is CInfoChampTable)
                {
                    m_tooltip.SetToolTip(m_wndListeChamps, ((CInfoChampTable)item.Tag).NomConvivial);
                    return;
                }
                else if (item.Tag is C2iChampDeRequete)
                {
                    C2iChampDeRequete champ   = (C2iChampDeRequete)item.Tag;
                    string            strInfo = "Origin : " + champ.GetStringSql() + "\r\n" +
                                                "Operation : " + champ.OperationAgregation.ToString() + "\r\n" +
                                                "Group by : " + (champ.GroupBy ? "Yes" : "No");
                    m_tooltip.SetToolTip(m_wndListeChamps, strInfo);
                    return;
                }
                m_lastItemTooltip = item;
            }
            m_tooltip.SetToolTip(m_wndListeChamps, "");
        }
Esempio n. 12
0
        public static bool EditeFormule(ref C2iExpression formule,
                                        IFournisseurProprietesDynamiques fournisseur,
                                        CObjetPourSousProprietes objetAnalyse,
                                        bool bAutoriseNull)
        {
            CFormStdEditeFormule form = new CFormStdEditeFormule();

            form.m_strFormule    = formule == null?"":formule.GetString();
            form.m_objetAnalyse  = objetAnalyse;
            form.m_fournisseur   = fournisseur;
            form.m_bNullAutorise = bAutoriseNull;
            bool bRetour = false;

            if (form.ShowDialog() == DialogResult.OK)
            {
                formule = form.m_txtFormule.Formule;
                bRetour = true;
            }
            form.Dispose();
            return(bRetour);
        }
Esempio n. 13
0
        //---------------------------------------------------------------------------------------------
        private void m_imageFormuleTable_Click(object sender, EventArgs e)
        {
            if (m_tableExport == null || (!(m_tableExport is C2iTableExport)))
            {
                return;
            }
            if (!m_structureExport.IsStructureComplexe)
            {
                return;
            }

            Type tpParent = m_structureExport.TypeSource;

            if (m_tableParente == null && m_tableParente.ChampOrigine != null)
            {
                tpParent = m_tableParente.ChampOrigine.TypeDonnee.TypeDotNetNatif;
            }
            try
            {
                if (!(m_tableExport.ChampOrigine is CDefinitionProprieteDynamiqueFormule))
                {
                    return;
                }
                C2iExpression formule = ((CDefinitionProprieteDynamiqueFormule)m_tableExport.ChampOrigine).Formule;
                C2iExpression exTmp   = CFormStdEditeFormule.EditeFormule(formule.GetString(), new CFournisseurPropDynStd(true), tpParent);
                if (exTmp != null)
                {
                    if (!exTmp.TypeDonnee.Equals(formule.TypeDonnee))
                    {
                        CFormAlerte.Afficher(I.T("Impossible to modify the return value type of the formula|30005"), EFormAlerteType.Erreur);
                        return;
                    }
                    ((C2iTableExport)m_tableExport).ChampOrigine = new CDefinitionProprieteDynamiqueFormule(exTmp);
                    InitChamps();
                }
            }
            catch
            { }
        }
Esempio n. 14
0
        private void testToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ((C2iExpressionGraphique)ObjetEdite).RefreshFormuleFinale();
            C2iExpression formule = ((C2iExpressionGraphique)ObjetEdite).FormuleFinale;

            if (formule != null)
            {
                if (MessageBox.Show(formule.GetString() + "\nTest ?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    CContexteEvaluationExpression ctx    = new CContexteEvaluationExpression(m_objetAnalyse != null?m_objetAnalyse.ElementAVariableInstance:null);
                    sc2i.common.CResultAErreur    result = formule.Eval(ctx);
                    if (!result)
                    {
                        CFormAfficheErreur.Show(result.Erreur);
                    }
                    else
                    {
                        MessageBox.Show(result.Data == null ? "null" : result.Data.ToString());
                    }
                }
            }
        }
        //--------------------------------------------------------------------------------
        private CResultAErreur OnChangeParametreEnCoursEdition()
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_paramEnCoursEdition != null)
            {
                if (m_txtFormuleParametre.Text.Trim() != "")
                {
                    result = GetFormule(m_txtFormuleParametre);
                    if (!result)
                    {
                        return(result);
                    }
                    m_paramEnCoursEdition.Expression = (C2iExpression)result.Data;
                }
                else
                {
                    m_paramEnCoursEdition.Expression = null;
                }
            }
            if (m_wndListeParametres.SelectedItems.Count != 1)
            {
                m_paramEnCoursEdition = null;
                m_splitContainerInfosParam.Visible = false;
                return(result);
            }

            m_splitContainerInfosParam.Visible = true;
            // Initialise l'édition du paramètre sélectionné
            m_paramEnCoursEdition          = (CWndParametreEnEdition)m_wndListeParametres.SelectedItems[0].Tag;
            m_lblNomParametre.Text         = m_paramEnCoursEdition.InfoParametre != null ? m_paramEnCoursEdition.InfoParametre.Nom : "";
            m_lblDescriptionParametre.Text = m_paramEnCoursEdition.InfoParametre != null ? m_paramEnCoursEdition.InfoParametre.Description : "";
            C2iExpression expression = (C2iExpression)m_paramEnCoursEdition.Expression;

            m_txtFormuleParametre.Text = expression == null ? "" : expression.GetString();

            return(result);
        }