Ejemplo n.º 1
0
        //-----------------------------------------------
        public CResultAErreur RefreshFormuleFinale()
        {
            m_formuleFinale = null;
            CResultAErreur     result  = CResultAErreur.True;
            C2iExpressionBegin formule = new C2iExpressionBegin();

            foreach (CDefinitionProprieteDynamiqueVariableFormule def in m_listeVariables)
            {
                C2iExpressionVariable var = new C2iExpressionVariable();
                C2iExpression         exp = new C2iExpressionChamp();
                ((C2iExpressionChamp)exp).DefinitionPropriete = def;
                var.Parametres.Add(exp);
                exp = new C2iExpressionConstante(def.TypeDonnee.TypeDotNetNatif.ToString());
                var.Parametres.Add(exp);
                if (def.TypeDonnee.IsArrayOfTypeNatif)
                {
                    exp = new C2iExpressionVrai();
                    var.Parametres.Add(exp);
                }
                formule.Parametres.Add(var);
            }
            CRepresentationExpressionGraphique graf = StartPoint;

            if (graf == null)
            {
                result.EmpileErreur(I.T("No start point|20103"));
                return(result);
            }

            while (graf != null)
            {
                result = graf.RefreshParametres();
                if (!result)
                {
                    return(result);
                }
                if (graf.Formule != null)
                {
                    formule.Parametres.Add(graf.Formule);
                }
                graf = graf.Next;
            }
            m_formuleFinale = formule;
            return(CResultAErreur.True);
        }