Esempio n. 1
0
        //------------------------------------------
        protected override void MyGetXmlText(CEasyQuery query, StringBuilder bl, int nIndent)
        {
            if (BaliseOperateur.Length > 0 && m_champ != null)
            {
                AddIndent(bl, nIndent);
                bl.Append("<");
                bl.Append(BaliseOperateur);
                bl.Append(">");

                bl.Append(Environment.NewLine);
                m_champ.GetXmlText(query, bl, nIndent + 1);
                bl.Append(Environment.NewLine);
                bl.Append("<Value Type='Text'>");
                if (m_valeur != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(query);
                    CResultAErreur result             = m_valeur.Eval(ctx);
                    if (result && result.Data != null)
                    {
                        bl.Append(result.Data.ToString());
                    }
                }
                bl.Append("</Value>");
                bl.Append(Environment.NewLine);
                bl.Append("</");
                bl.Append(BaliseOperateur);
                bl.Append(">");
                bl.Append(Environment.NewLine);
            }
        }
Esempio n. 2
0
        //------------------------------------------------------------------------------------
        protected override TextFormatting GetFormatting(Node node, TreeListColumn column)
        {
            CResultAErreur result = CResultAErreur.True;

            TextFormatting       format = new TextFormatting(base.GetFormatting(node, column));
            CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee;

            if (alarme != null)
            {
                try
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(alarme);
                    C2iExpression exp = m_parametreAffichage.FormuleItemBackColor;
                    if (exp != null)
                    {
                        result = exp.Eval(ctx);
                        if (result)
                        {
                            Color couleurFond = (Color)result.Data;
                            if (couleurFond != null)
                            {
                                format.BackColor = couleurFond;
                            }
                        }
                    }
                    exp = m_parametreAffichage.FormuleItemForeColor;
                    if (exp != null)
                    {
                        result = exp.Eval(ctx);
                        if (result)
                        {
                            Color couleurTexte = (Color)result.Data;
                            if (couleurTexte != null)
                            {
                                format.ForeColor = couleurTexte;
                            }
                        }
                    }
                    CActionSur2iLink action = null;
                    if (m_dicIndexColonneAction.TryGetValue(column.Index, out action))
                    {
                        Font font = new Font(format.Font, FontStyle.Underline);
                        format.Font = font;
                    }
                }
                catch
                {
                }
            }
            return(format);
        }
Esempio n. 3
0
        protected CResultAErreur TraiterEditionPanel(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;
            CContexteEvaluationExpression ctxEval  = CUtilControlesWnd.GetContexteEval(this, objet);
            C2iWndListeSpeedStandard      listeStd = this.WndAssociee as C2iWndListeSpeedStandard;

            if (listeStd != null)
            {
                C2iExpression formule = listeStd.AlternativeEditedElement;
                result = formule.Eval(ctxEval);
                if (!result)
                {
                    return(result);
                }
                CObjetDonneeAIdNumeriqueAuto objetToEdit = result.Data as CObjetDonneeAIdNumeriqueAuto;
                if (objetToEdit != null)
                {
                    CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(objetToEdit.GetType());
                    IFormNavigable     frmToShow   = refTypeForm.GetForm(objetToEdit) as IFormNavigable;
                    IFormNavigable     frm         = m_panelListeSpeedStd.FindForm() as IFormNavigable;
                    if (frm != null)
                    {
                        frm.Navigateur.AffichePage(frmToShow);
                    }
                    else
                    {
                        CFormNavigateurPopup.Show(frmToShow);
                    }
                }
                return(result);
            }
            return(result);
        }
 //----------------------------------------------------
 public CIconeGantt GetIcone(IElementDeGantt element)
 {
     if (m_formuleCondition != null && Image != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(element);
         CResultAErreur result             = m_formuleCondition.Eval(ctx);
         if (result)
         {
             if (result.Data is bool && (bool)result.Data)
             {
                 string strTooltip = "";
                 if (Tooltip != null)
                 {
                     result = Tooltip.Eval(ctx);
                     if (result)
                     {
                         strTooltip = result.Data.ToString();
                     }
                 }
                 return(new CIconeGantt(Image, strTooltip));
             }
         }
     }
     return(null);
 }
Esempio n. 5
0
        /// //////////////////////////////////////////////////////
        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);
            }
        }
Esempio n. 6
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();
            }
        }
Esempio n. 7
0
        public string GetNextValue(object source)
        {
            C2iExpression formule = FormuleCle;
            string        strCle  = "";

            if (formule != null)
            {
                Type typeSource = TypeSource;
                CContexteEvaluationExpression ctx = null;
                if (typeSource != null)
                {
                    //Vérifie que la source est du bon type
                    if (source == null || !typeSource.IsAssignableFrom(source.GetType()))
                    {
                        throw new Exception(I.T("Source type is invalide for sequence @1 (@2)",
                                                Libelle,
                                                source == null?"Null":source.GetType().ToString()));
                    }
                    ctx = new CContexteEvaluationExpression(source);
                }
                else
                {
                    ctx = new CContexteEvaluationExpression(null);
                }
                CResultAErreur result = formule.Eval(ctx);
                if (!result)
                {
                    throw new Exception(I.T("Error while evaluating key formula for sequence @1|20131",
                                            Libelle));
                }
                if (result.Data != null)
                {
                    strCle = result.Data.ToString();
                }
                else
                {
                    strCle = "";
                }
            }
            //Cherche la dernière valeur pour cette clé
            CValeurSequenceNumerotation valeur = new CValeurSequenceNumerotation(ContexteDonnee);

            if (!valeur.ReadIfExists(new CFiltreData(CValeurSequenceNumerotation.c_champCle + "=@1 and " +
                                                     CSequenceNumerotation.c_champId + "=@2",
                                                     strCle,
                                                     Id)))
            {
                valeur.CreateNewInCurrentContexte();
                valeur.SequenceNumerotation = this;
                valeur.DerniereValeur       = ValeurDepart;
                valeur.Cle = strCle;
            }
            else
            {
                valeur.DerniereValeur++;
            }
            string strValeur = strCle + FormatNumerotation.GetReference(valeur.DerniereValeur).Data.ToString();

            return(strValeur);
        }
Esempio n. 8
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);
            if (m_expressionElementADissocier == null)
            {
                result.EmpileErreur(I.T("No element to be dissociated|169"));
                return(result);
            }
            result = m_expressionElementADissocier.Eval(contexteEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Error in the elements to be dissociated formula|170"));
                return(result);
            }
            if (result.Data != null)
            {
                if (!(result.Data is CObjetDonneeAIdNumerique))
                {
                    result.EmpileErreur(I.T("The element to be dissociated formula must be return a work entity|167"));
                    return(result);
                }
                CComportementGenerique comportement = new CComportementGenerique(contexte.ContexteDonnee);
                if (!comportement.ReadIfExists(m_dbKeyComportement))
                {
                    return(result);
                }
                comportement.RemoveComportementFromObjet((CObjetDonneeAIdNumerique)result.Data);
            }
            return(result);
        }
 ///Applique le paramètre à un élément
 public void ApplyOnElement(C2iSymbole element, CContexteEvaluationExpression ctxEval)
 {
     foreach (KeyValuePair <string, C2iExpression> kv in m_dicFormulesParPropriete)
     {
         string        strPropriete = kv.Key;
         C2iExpression formule      = kv.Value;
         if (formule != null)
         {
             //Trouve la propriete
             PropertyInfo info = element.GetType().GetProperty(strPropriete);
             if (info != null && info.GetSetMethod() != null)
             {
                 MethodInfo     methode = info.GetSetMethod();
                 CResultAErreur result  = formule.Eval(ctxEval);
                 if (result)
                 {
                     try
                     {
                         methode.Invoke(element, new object[] { result.Data });
                     }
                     catch
                     {
                     }
                 }
             }
         }
     }
 }
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);
            if (m_expressionElementAAssocier == null)
            {
                result.EmpileErreur(I.T("Not element to be associated|110"));
                return(result);
            }
            result = m_expressionElementAAssocier.Eval(contexteEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Error in element to be associated formula|111"));
                return(result);
            }
            if (result.Data != null)
            {
                if (!(result.Data is CObjetDonneeAIdNumerique))
                {
                    result.EmpileErreur(I.T("The element to be associated formula doesn't return a work entity|112"));
                    return(result);
                }
                CComportementGenerique comportement = new CComportementGenerique(contexte.ContexteDonnee);
                if (!comportement.ReadIfExists(m_dbKeyComportement))
                {
                    result.EmpileErreur(I.T("The @1 behavior doesn't exist|113", m_dbKeyComportement.ToString()));
                    return(result);
                }
                comportement.AddComportementToObjet((CObjetDonneeAIdNumerique)result.Data);
            }
            return(result);
        }
        /// //////////////////////////////////////////
        private void UpdateUtilisateurEnDur()
        {
            CResultAErreur result = GetExpressionUtilisateur();

            if (!result)
            {
                m_lblUtilisateurEnDur.Visible = false;
            }
            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(null);
            C2iExpression exp = (C2iExpression)result.Data;

            if (exp != null)
            {
                result = exp.Eval(ctx);
                if (result)
                {
                    try
                    {
                        int nId = Convert.ToInt32(result.Data);
                        using (CContexteDonnee contexte = new CContexteDonnee(CTimosApp.SessionClient.IdSession, true, false))
                        {
                            CDonneesActeurUtilisateur user = new CDonneesActeurUtilisateur(contexte);
                            if (user.ReadIfExists(nId))
                            {
                                m_lblUtilisateurEnDur.Text    = user.Acteur.Nom;
                                m_lblUtilisateurEnDur.Visible = true;
                                return;
                            }
                        }
                    }
                    catch {}
                }
            }
            m_lblUtilisateurEnDur.Visible = false;
        }
Esempio n. 12
0
            public object  GetValue(object objet)
            {
                if (m_formule == null)
                {
                    return(null);
                }
                if (m_contexteEval == null)
                {
                    m_contexteEval = new CContexteEvaluationExpression(objet);
                    m_contexteEval.UseOptimiseurs = true;
                }
                else
                {
                    m_contexteEval.ChangeSource(objet);
                }
                if (objet is CObjetDonnee)
                {
                    m_contexteEval.AttacheObjet(typeof(CContexteDonnee), ((CObjetDonnee)objet).ContexteDonnee);
                }
                CResultAErreur result = m_formule.Eval(m_contexteEval);

                if (result)
                {
                    return(result.Data);
                }
                return(null);
            }
Esempio n. 13
0
        //------------------------------------------------------------
        public CResultAErreur GetValue(object objet, string strPropriete)
        {
            CResultAErreur result = CResultAErreur.True;
            CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(objet);

            if (objet is CObjetDonnee)
            {
                contexte.AttacheObjet(typeof(CContexteDonnee), ((CObjetDonnee)objet).ContexteDonnee);
            }
            Type tpAnalyse = null;

            if (objet != null)
            {
                tpAnalyse = objet.GetType();
            }
            CContexteAnalyse2iExpression   ctx       = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(), tpAnalyse);
            CAnalyseurSyntaxiqueExpression analyseur = new CAnalyseurSyntaxiqueExpression(ctx);

            result = analyseur.AnalyseChaine(strPropriete);
            if (!result)
            {
                return(result);
            }
            C2iExpression formule = (C2iExpression)result.Data;

            result = formule.Eval(contexte);
            if (result)
            {
                return(result);
            }
            return(result);
        }
        /// ////////////////////////////////////////////////////////////
        public void FillNode(TreeNode node, CObjetDonneeAIdNumeriqueAuto objet)
        {
            if (objet != null)
            {
                string strText = "";
                if (m_formuleLibelle != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objet);
                    CResultAErreur result             = m_formuleLibelle.Eval(ctx);
                    if (result && result.Data != null)
                    {
                        strText = result.Data.ToString();
                    }
                }
                if (strText.Length == 0)
                {
                    strText = CInterpreteurTextePropriete.GetStringValue(objet, m_strProprieteAffichee, "Non def");
                }
                node.Text = strText;
            }
            CInfoNode info;

            if (node.Tag is CInfoNode)
            {
                info = (CInfoNode)node.Tag;
            }
            else
            {
                info = new CInfoNode();
            }
            info.Objet = objet;
            node.Tag   = info;
        }
        /// //////////////////////////////////////////////////////////////
        protected override sc2i.common.CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;
            IDeclencheurActionSurServeur declencheur = (IDeclencheurActionSurServeur)C2iFactory.GetNewObjetForSession("CDeclencheurActionSurServeur", typeof(IDeclencheurActionSurServeur), contexte.IdSession);

            if (declencheur == null)
            {
                result.EmpileErreur(I.T("Release action allocation server fail|187"));
                return(result);
            }

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);

            Hashtable valeursParametres = new Hashtable();

            foreach (DictionaryEntry entry in m_tableValeursParametres)
            {
                string        strProp    = (string)entry.Key;
                C2iExpression expression = (C2iExpression)entry.Value;

                //Cherche la propriété
                result = expression.Eval(contexteEval);
                if (!result)
                {
                    result.EmpileErreur(I.T("Error during @1 value evaluation|188", entry.Key.ToString()));
                    return(result);
                }
                valeursParametres[entry.Key] = result.Data;
            }

            return(declencheur.ExecuteAction(m_strCodeActionServeur, valeursParametres));
        }
Esempio n. 16
0
 //---------------------------------------
 public void SetElementToEvalFormules(object element)
 {
     if (m_dicFormulesParPropriete.Count > 0)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(element);
         foreach (KeyValuePair <string, C2iExpression> propFormule in m_dicFormulesParPropriete)
         {
             string         strProp = propFormule.Key;
             C2iExpression  exp     = propFormule.Value;
             CResultAErreur result  = exp.Eval(ctx);
             if (result)
             {
                 try
                 {
                     PropertyInfo info = GetType().GetProperty(strProp);
                     if (info != null && info.GetSetMethod() != null)
                     {
                         info.GetSetMethod().Invoke(this, new object[] { result.Data });
                     }
                 }
                 catch
                 {
                 }
             }
         }
     }
     foreach (C2iComposant3D composant in Childs)
     {
         composant.SetElementToEvalFormules(element);
     }
 }
Esempio n. 17
0
        //---------------------------------------------------------------------------------------------------------
        private CResultAErreur GetElementEditeSecondaire(CEtapeWorkflow etapeEnCours)
        {
            CResultAErreur result = CResultAErreur.True;

            if (etapeEnCours != null)
            {
                CBlocWorkflowFormulaire blocFormulaire = etapeEnCours.TypeEtape != null ? etapeEnCours.TypeEtape.Bloc as CBlocWorkflowFormulaire : null;
                if (blocFormulaire == null)
                {
                    result.EmpileErreur("Ce To do ne peut pas être traité dans l'application web Timos");
                    return(result);
                }
                if (blocFormulaire.FormuleElementEditeSecondaire != null)
                {
                    C2iExpression expElementEditePrincipal = blocFormulaire.FormuleElementEditeSecondaire;
                    CContexteEvaluationExpression ctxEval  = new CContexteEvaluationExpression(etapeEnCours);
                    result = expElementEditePrincipal.Eval(ctxEval);
                    if (!result)
                    {
                        result.EmpileErreur("Erreur dans l'évaluation de l'élément édité principal du to do " + etapeEnCours.Id);
                    }
                }
            }

            return(result);
        }
Esempio n. 18
0
        //---------------------------------------------------------------------------------------------------------
        private string GetInstructionsForTodo(CEtapeWorkflow etapeEnCours)
        {
            string strResult = "Pas d'instructions";

            if (etapeEnCours != null)
            {
                CBlocWorkflowFormulaire blocFormulaire = etapeEnCours.TypeEtape != null ? etapeEnCours.TypeEtape.Bloc as CBlocWorkflowFormulaire : null;
                if (blocFormulaire == null)
                {
                    strResult = "Ce To do ne peut pas être traité dans l'application web Timos";
                    return(strResult);
                }
                if (blocFormulaire.FormuleInstructions != null)
                {
                    C2iExpression expInstructions         = blocFormulaire.FormuleInstructions;
                    CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(etapeEnCours);
                    CResultAErreur resEval = expInstructions.Eval(ctxEval);
                    if (resEval && resEval.Data != null)
                    {
                        strResult = resEval.Data.ToString();
                    }
                    else
                    {
                        strResult = etapeEnCours.Libelle + Environment.NewLine + resEval.Erreur.ToString();
                    }
                }
            }

            return(strResult);
        }
Esempio n. 19
0
        private void m_btnEval_Click(object sender, EventArgs e)
        {
            C2iExpression  formule = m_txtFormule.Formule;
            CResultAErreur res     = CResultAErreur.True;

            if (formule == null)
            {
                res = m_txtFormule.ResultAnalyse;
            }
            else
            {
                CContexteEvaluationExpression ctx = new CContexteEvaluationExpression("");
                res = formule.Eval(ctx);
            }
            if (!res)
            {
                m_txtResult.Text = res.Erreur.ToString();
            }
            else
            {
                if (res.Data == null)
                {
                    m_txtResult.Text = "null";
                }
                else
                {
                    m_txtResult.Text = res.Data.ToString();
                }
            }
        }
Esempio n. 20
0
        /// /////////////////////////////////////////////////////////////////////////////////////
        private static CResultAErreur ExecuteActionFormulairePopup(CActionSur2iLinkFormulairePopup actionPopup, object sender, object objetCible)
        {
            CResultAErreur result = CResultAErreur.True;

            C2iExpression formuleElement = actionPopup.FormuleElementEdite;
            IObjetDonnee  elementEdite   = null;

            if (formuleElement != null)
            {
                CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetCible);
                ctxEval.AttacheObjet(typeof(CContexteDonnee), CSc2iWin32DataClient.ContexteCourant);
                result = formuleElement.Eval(ctxEval);
                if (!result)
                {
                    result.EmpileErreur(I.T("Element evaluation error|30084"));
                    return(result);
                }

                if (result.Data == null)
                {
                    result.EmpileErreur(I.T("Not avaliable|30082"));
                    return(result);
                }

                elementEdite = result.Data as IObjetDonnee;
            }
            else
            {
                elementEdite = objetCible as IObjetDonnee;
            }

            if (elementEdite != null)
            {
                Point pt           = Cursor.Position;
                bool  bModeEdition = false;

                if (sender != null)
                {
                    pt = ((Control)sender).Location;

                    Form frm = ((Control)sender).FindForm();
                    if (frm != null && frm is CFormEditionStandard)
                    {
                        bModeEdition = ((CFormEditionStandard)frm).ModeEdition;
                    }
                }
                CFormExecuteActionFormulairePopup.Popup(
                    pt,
                    actionPopup,
                    elementEdite,
                    bModeEdition);
            }
            else
            {
                result.EmpileErreur(I.T("Popup form element is not a valid object|20882"));
            }

            return(result);
        }
Esempio n. 21
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)Activator.CreateInstance(m_typeEntiteACreer, new object[] { contexte.ContexteDonnee });

            objet.CreateNewInCurrentContexte();

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);

            foreach (DictionaryEntry entry in m_tableValeursProprietes)
            {
                string        strProp    = (string)entry.Key;
                C2iExpression expression = (C2iExpression)entry.Value;

                //Cherche la propriété
                PropertyInfo info            = m_typeEntiteACreer.GetProperty(strProp);
                string       strNomConvivial = strProp;
                object[]     attr            = info.GetCustomAttributes(typeof(DynamicFieldAttribute), true);
                if (attr.Length > 0)
                {
                    strNomConvivial = ((DynamicFieldAttribute)attr[0]).NomConvivial;
                }
                MethodInfo methode = info.GetSetMethod();
                if (methode != null)
                {
                    //Evalue la valeur
                    result = expression.Eval(contexteEval);
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Error during the @1 value evaluation|140", strNomConvivial));
                        return(result);
                    }
                    try
                    {
                        methode.Invoke(objet, new object[] { result.Data });
                    }
                    catch (Exception e)
                    {
                        result.EmpileErreur(I.T("Error during the assignment of @1 property|141", strNomConvivial));
                        result.EmpileErreur(e.Message);
                        return(result);
                    }
                }
            }
            if (VariableResultat != null)
            {
                Process.SetValeurChamp(VariableResultat, objet);
            }
            CLienAction[] liens = GetLiensSortantHorsErreur();
            if (liens.Length > 0)
            {
                result.Data = liens[0];
            }
            return(result);
        }
Esempio n. 22
0
        /// //////////////////////////////////////////////////////////////
        public override object GetValeur(object obj, CCacheValeursProprietes cacheValeurs, CRestrictionUtilisateurSurType restriction)
        {
            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(obj, cacheValeurs);
            CResultAErreur result             = Expression.Eval(ctx);

            if (!result)
            {
                return(null);
            }
            return(result.Data);
        }
Esempio n. 23
0
 //----------------------------------------------------------------------------------
 public DateTime?GetDateFromExpression(IElementDeGantt element, C2iExpression formule)
 {
     if (formule != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(element);
         CResultAErreur result             = formule.Eval(ctx);
         if (result && result.Data is DateTime)
         {
             return((DateTime)result.Data);
         }
     }
     return(null);
 }
 //--------------------------------------
 public Color GetBackColor(CElementAVariablesDynamiques elt)
 {
     if (FormuleBackColor != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(elt);
         CResultAErreur result             = FormuleBackColor.Eval(ctx);
         if (result && result.Data is Color)
         {
             return((Color)result.Data);
         }
     }
     return(BackColor);
 }
 /// ///////////////////////////////////////////
 public object GetValeurParDefaut()
 {
     if (m_expressionValeurParDefaut != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(null);
         CResultAErreur result             = m_expressionValeurParDefaut.Eval(ctx);
         if (result)
         {
             return(result.Data);
         }
     }
     return(null);
 }
Esempio n. 26
0
 public object GetObjectValueForGrid(object element)
 {
     if (m_expression != null)
     {
         CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(element);
         CResultAErreur result             = m_expression.Eval(ctx);
         if (result && result.Data != null)
         {
             return(result.Data);
         }
     }
     return("");
 }
Esempio n. 27
0
        //---------------------------------------------------
        public override CResultAErreur RunAndSaveIfOk(CEtapeWorkflow etape)
        {
            CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(etape);
            CResultAErreur result = CResultAErreur.True;

            if (m_formuleElementDeclencheur == null)
            {
                result.EmpileErreur(I.T("Invalid wait paramter on step @1|20091", TypeEtape.Libelle));
                return(result);
            }
            result = m_formuleElementDeclencheur.Eval(ctxEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Invalid wait parameter on step @1|20091", TypeEtape.Libelle));
                return(result);
            }
            if (result.Data == null)//Pas de cible, ok, on dégage
            {
                return(EndAndSaveIfOk(etape));
            }
            CObjetDonneeAIdNumerique objetCible = result.Data as CObjetDonneeAIdNumerique;

            if (objetCible == null)
            {
                result.EmpileErreur(I.T("Can not run wait step @1 on type @2|20092",
                                        TypeEtape.Libelle, DynamicClassAttribute.GetNomConvivial(result.Data.GetType())));
                return(result);
            }

            CResultAErreurType <CHandlerEvenement> resH = CHandlerEvenement.CreateHandlerOnObject(
                etape.ContexteDonnee,
                objetCible,
                ParametreDeclencheur,
                "Workflow step " + TypeEtape.Id + "/" + etape.UniversalId,
                etape.UniversalId);

            if (!resH)
            {
                result.EmpileErreur(resH.Erreur);
                return(result);
            }



            if (resH)
            {
                resH.DataType.EtapeWorkflowATerminer = etape;
            }

            return(etape.ContexteDonnee.SaveAll(true));
        }
        //-------------------------------------------------------------------
        public object[] GetValues(CChartSetup chart)
        {
            List <object>         lstRetour = new List <object>();
            CParametreSourceChart p         = chart.ParametresDonnees.GetSourceFV(m_strIdSource);

            if (p != null && m_formule != null)
            {
                object      valeur  = p.GetSource(chart);
                IEnumerable valEnum = valeur as IEnumerable;
                if (valEnum is IEnumerable && EvaluateOnEachSourceElement)
                {
                    foreach (object o in valEnum)
                    {
                        CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(o);
                        CResultAErreur result             = m_formule.Eval(ctx);
                        if (result)
                        {
                            lstRetour.Add(result.Data);
                        }
                    }
                }
                else
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(valeur);
                    CResultAErreur result             = m_formule.Eval(ctx);

                    IEnumerable retour = result.Data as IEnumerable;
                    if (retour != null)
                    {
                        foreach (object obj in retour)
                        {
                            lstRetour.Add(obj);
                        }
                    }
                }
            }
            return(lstRetour.ToArray());
        }
Esempio n. 29
0
        //-------------------------------------------------------------
        private CResultAErreur AppliqueFormule()
        {
            CResultAErreur result  = CResultAErreur.True;
            C2iExpression  formule = m_txtFormule.Formule;

            if (formule == null)
            {
                result = m_txtFormule.ResultAnalyse;
                return(result);
            }
            CContexteDonnee ctxOriginal = m_listeObjetsAAppliquer[0].ContexteDonnee;

            try
            {
                if (m_contexteModification != null)
                {
                    m_contexteModification.Dispose();
                    m_contexteModification = null;
                }
                m_contexteModification = ctxOriginal.GetContexteEdition();
                foreach (CObjetDonnee objet in m_listeObjetsAAppliquer)
                {
                    if (objet != null)
                    {
                        CObjetDonnee objetModif           = objet.GetObjetInContexte(m_contexteModification);
                        CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetModif);
                        result = formule.Eval(ctx);
                        if (!result)
                        {
                            result.EmpileErreur(I.T("Error while applying formula on @1|20093", objetModif.DescriptionElement));
                            return(result);
                        }
                        else
                        {
                            m_txtResult.Text += "-----------------------------------";
                            m_txtResult.Text += Environment.NewLine;
                            m_txtResult.Text += objetModif.DescriptionElement + "->";
                            m_txtResult.Text += result.Data != null?result.Data.ToString() : "NULL";

                            m_txtResult.Text += Environment.NewLine;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
Esempio n. 30
0
        //------------------------------------------
        public void RecalcLibelle()
        {
            C2iExpression formule = TypeEntiteSnmp.FormuleCalculLibelle;

            if (formule != null)
            {
                CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(this);
                CResultAErreur result             = formule.Eval(ctx);
                if (result && result.Data != null)
                {
                    Libelle = result.Data.ToString();
                }
            }
        }