Beispiel #1
0
        void itemMenuFiltre_Click(object sender, EventArgs e)
        {
            CMenuItemFiltre menuFiltre = sender as CMenuItemFiltre;

            if (menuFiltre != null)
            {
                CFiltreDynamiqueInDb filtreInDb = menuFiltre.Filtre;
                CFiltreDynamique     filtre     = filtreInDb.Filtre;

                if (m_lastFiltreDynamique != null)
                {
                    foreach (IVariableDynamique variable in m_lastFiltreDynamique.ListeVariables)
                    {
                        object             val  = m_lastFiltreDynamique.GetValeurChamp(variable.IdVariable);
                        IVariableDynamique var2 = filtre.GetVariable(variable.IdVariable);
                        if (var2 != null && var2.Nom == variable.Nom)
                        {
                            filtre.SetValeurChamp(var2, val);
                        }
                    }
                }
                m_lastFiltreDynamique = filtre;

                if (filtre.FormulaireEdition.Childs.Count() > 0)
                {
                    if (!CFormFormulairePopup.EditeElement(
                            filtre.FormulaireEdition, filtre, "Filter|20175"))
                    {
                        return;
                    }
                }
                ApplyFiltre(filtre);
            }
        }
Beispiel #2
0
        /// ////////////////////////////////////////////////////////
        public override CResultAErreur VerifieDonnees()
        {
            CResultAErreur result      = CResultAErreur.True;
            CProcessInDb   processInDB = new CProcessInDb(Process.ContexteDonnee);

            if (!processInDB.ReadIfExists(m_dbKeyProcess))
            {
                result.EmpileErreur(I.T("Invalid action to start|192"));
                return(result);
            }
            //Vérifie le type des variables
            CProcess process = processInDB.Process;

            foreach (string strIdVariable in m_mapVariablesProcessToFormule.Keys)
            {
                IVariableDynamique variable = process.GetVariable(strIdVariable);
                if (variable != null)
                {
                    CTypeResultatExpression typeVariable = variable.TypeDonnee;
                    C2iExpression           expression   = (C2iExpression)m_mapVariablesProcessToFormule[strIdVariable];
                    if (expression != null)
                    {
                        if (!expression.TypeDonnee.Equals(typeVariable))
                        {
                            result.EmpileErreur(I.T("The formula of '@1' variable value must return a @2 type|193", variable.Nom, typeVariable.ToStringConvivial()));
                        }
                    }
                }
            }
            return(result);
        }
Beispiel #3
0
 /// /////////////////////////////////////////////
 public object GetValeurChamp(IVariableDynamique variable)
 {
     if (m_elementAVariablesExterne != null && GetVariableLocaleAuFiltre(variable.IdVariable) == null)
     {
         return(m_elementAVariablesExterne.GetValeurChamp(variable));
     }
     if (variable == null)
     {
         return(null);
     }
     if (variable is CVariableDynamiqueCalculee)
     {
         CVariableDynamiqueCalculee variableCalculee = (CVariableDynamiqueCalculee)variable;
         return(variableCalculee.GetValeur(this));
     }
     else if (variable is CVariableDynamiqueListeObjets)
     {
         CVariableDynamiqueListeObjets variableListe = (CVariableDynamiqueListeObjets)variable;
         return(variableListe.GetValeur(this));
     }
     else
     {
         object valeur = m_tableValeursChamps[variable.IdVariable];
         if (valeur == null && variable is CVariableDynamiqueSaisie)
         {
             return(((CVariableDynamiqueSaisie)variable).GetValeurParDefaut());
         }
         return(valeur);
     }
 }
        private void UpdateListeVariables()
        {
            m_bListeVariablesRemplie     = false;
            m_variableEnCoursEdition     = null;
            m_txtFormuleVariable.Visible = false;
            if (!(m_cmbProcess.SelectedValue is CProcessInDb))
            {
                m_wndListeVariables.Enabled  = false;
                m_txtFormuleVariable.Visible = false;
                return;
            }
            m_wndListeVariables.Enabled  = true;
            m_txtFormuleVariable.Visible = true;

            CProcessInDb processInDB = (CProcessInDb)m_cmbProcess.SelectedValue;
            CProcess     process     = processInDB.Process;

            if (process == null)
            {
                m_wndListeVariables.Enabled  = false;
                m_txtFormuleVariable.Visible = false;
                return;
            }
            ArrayList lst = new ArrayList(process.ListeVariables);

            m_wndListeVariables.Remplir(lst, false);
            m_bListeVariablesRemplie = true;
        }
        //------------------------------------------------------------------------------
        //Le data du result contient la valeur déserializée
        public static CResultAErreur ReadValeur(
            byte[] data,
            IVariableDynamique variable,
            CContexteDonnee contexteDonnee)
        {
            CResultAErreur result = CResultAErreur.True;

            if (data == null)
            {
                return(result);
            }
            MemoryStream           stream     = new MemoryStream(data);
            BinaryReader           reader     = new BinaryReader(stream);
            CSerializerReadBinaire serializer = new CSerializerReadBinaire(reader);
            object valeur = null;

            result = CSerializerValeursVariables.SerializeValeurVariable(
                ref valeur,
                variable,
                serializer,
                contexteDonnee);
            if (result)
            {
                result.Data = valeur;
            }

            reader.Close();
            stream.Close();

            return(result);
        }
Beispiel #6
0
        //-------------------------------------------------------------------------
        void itemNewVariable_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            Type tp = item != null ? item.Tag as Type : null;

            if (tp != null)
            {
                IVariableDynamique variable = null;
                try
                {
                    variable = Activator.CreateInstance(tp, new object[] { m_elementAVariables }) as IVariableDynamique;
                }
                catch (Exception ex)
                {
                    CResultAErreur result = CResultAErreur.True;
                    result.EmpileErreur(new CErreurException(ex));
                    CFormAlerte.Afficher(result.Erreur);
                    return;
                }
                if (variable != null && EditeVariable(variable))
                {
                    ListViewItem lvItem = new ListViewItem();
                    FillItem(lvItem, variable);
                    m_wndListeVariables.Items.Add(lvItem);
                    m_elementAVariables.AddVariable(variable);
                }
            }
        }
Beispiel #7
0
        //-------------------------------------------------------------------------
        private bool EditeVariable(IVariableDynamique variable)
        {
            if (variable == null)
            {
                return(false);
            }
            Type typeEditeur = CGestionnaireEditeursVariablesDynamiques.GetTypeEditeur(variable.GetType());

            if (typeEditeur == null)
            {
                return(false);
            }
            IFormEditVariableDynamique frm = Activator.CreateInstance(typeEditeur) as IFormEditVariableDynamique;
            bool bResult = frm.EditeLaVariable(variable, m_elementAVariables);

            if (bResult)
            {
                ListViewItem item = GetItemForVariable(variable);
                if (item != null)
                {
                    item.Text = variable.Nom;
                }
            }
            return(bResult);
        }
 //-------------------------------------------------
 public void RemoveVariable(IVariableDynamique variable)
 {
     if (!(variable is CVariableDynamiqueSysteme))
     {
         m_listeVariables.Remove(variable);
     }
 }
Beispiel #9
0
        internal void OnChangeVariable(IVariableDynamique variable)
        {
            CDefinitionProprieteDynamique defProp = new CDefinitionProprieteDynamiqueVariableDynamique(variable as CVariableDynamique);

            if (FormuleSelectionObjet != null)
            {
                foreach (C2iExpressionChamp expChamp in FormuleSelectionObjet.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamiqueVariableDynamique defVar = expChamp.DefinitionPropriete as CDefinitionProprieteDynamiqueVariableDynamique;
                    if (defVar != null && defVar.IdChamp == variable.IdVariable)
                    {
                        expChamp.DefinitionPropriete = defProp;
                    }
                }
            }
            if (FormuleCondition != null)
            {
                foreach (C2iExpressionChamp expChamp in FormuleCondition.ExtractExpressionsType(typeof(C2iExpressionChamp)))
                {
                    CDefinitionProprieteDynamiqueVariableDynamique defVar = expChamp.DefinitionPropriete as CDefinitionProprieteDynamiqueVariableDynamique;
                    if (defVar != null && defVar.IdChamp == variable.IdVariable)
                    {
                        expChamp.DefinitionPropriete = defProp;
                    }
                }
            }
            foreach (CMacroObjetValeur mv in Valeurs)
            {
                mv.OnChangeVariable(variable);
            }
        }
        /// //////////////////////////////////////////
        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();
        }
Beispiel #11
0
 //-------------------------------------------------
 public virtual object GetValeurChamp(IVariableDynamique variable)
 {
     if (variable == null)
     {
         return(null);
     }
     if (variable is CVariableDynamiqueCalculee)
     {
         CVariableDynamiqueCalculee variableCalculee = (CVariableDynamiqueCalculee)variable;
         return(variableCalculee.GetValeur(this));
     }
     else if (variable is CVariableDynamiqueListeObjets)
     {
         CVariableDynamiqueListeObjets variableListe = (CVariableDynamiqueListeObjets)variable;
         return(variableListe.GetValeur(this));
     }
     else
     {
         object valeur = m_tableValeursChamps[variable.IdVariable];
         if (valeur == null && variable is CVariableDynamiqueSaisie)
         {
             return(((CVariableDynamiqueSaisie)variable).GetValeurParDefaut());
         }
         return(valeur);
     }
 }
Beispiel #12
0
 //--------------------------------
 public void OnChangeVariable(IVariableDynamique variable)
 {
     foreach (CMacroObjet mo in Objets)
     {
         mo.OnChangeVariable(variable);
     }
 }
Beispiel #13
0
        //---------------------------------------------------------------------------
        public object GetValeurChamp(string strIdVariable)
        {
            if (m_elementAVariablesExternes != null)
            {
                return(m_elementAVariablesExternes.GetValeurChamp(strIdVariable));
            }
            object ret = null;

            if (!m_dicValeursVariables.ContainsKey(strIdVariable))
            {
                IVariableDynamique variable = GetVariable(strIdVariable);
                IVariableDynamiqueAValeurParDefaut variableADefaut = variable as IVariableDynamiqueAValeurParDefaut;
                if (variableADefaut != null)
                {
                    return(variableADefaut.GetValeurParDefaut());
                }
                IVariableDynamiqueCalculee variableCalculee = variable as IVariableDynamiqueCalculee;
                if (variableCalculee != null && variableCalculee.FormuleDeCalcul != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(this);
                    CResultAErreur result             = variableCalculee.FormuleDeCalcul.Eval(ctx);
                    if (result)
                    {
                        return(result.Data);
                    }
                }
            }

            m_dicValeursVariables.TryGetValue(strIdVariable, out ret);
            return(ret);
        }
Beispiel #14
0
        //-------------------------------------------------------
        public object GetValeurChamp(IVariableDynamique variable)
        {
            object valeur = null;

            m_dicValeursVariables.TryGetValue(variable, out valeur);
            return(valeur);
        }
Beispiel #15
0
        //---------------------------------------------------------------------------------------
        private IVariableDynamique AssureVariableElementCible(CFiltreDynamique filtre, Type typeElement)
        {
            IVariableDynamique variableASupprimer = null;

            foreach (IVariableDynamique variable in filtre.ListeVariables)
            {
                if (variable.Nom == c_champElementSource)
                {
                    if (variable.TypeDonnee.TypeDotNetNatif != typeElement)
                    {
                        variableASupprimer = variable;
                    }
                    else
                    {
                        return(variable);
                    }
                }
            }
            if (variableASupprimer != null)
            {
                filtre.RemoveVariable(variableASupprimer);
            }
            CVariableDynamiqueSysteme newVariable = new CVariableDynamiqueSysteme(filtre);

            newVariable.Nom = c_champElementSource;
            newVariable.SetTypeDonnee(new sc2i.expression.CTypeResultatExpression(typeElement, false));
            filtre.AddVariablePropreAuFiltre(newVariable);
            return(newVariable);
        }
Beispiel #16
0
 /// ////////////////////////////////////////////////////////
 public object GetValeurChamp(IVariableDynamique variable)
 {
     if (m_elementAVariablesExterne != null)
     {
         return(m_elementAVariablesExterne.GetValeurChamp(variable));
     }
     if (variable == null)
     {
         return(null);
     }
     if (variable is CVariableDynamiqueCalculee)
     {
         CVariableDynamiqueCalculee variableCalculee = (CVariableDynamiqueCalculee)variable;
         return(variableCalculee.GetValeur(this));
     }
     else
     {
         object val = m_tableValeursChamps[variable.IdVariable];
         if (val == null && variable is CVariableDynamiqueSaisie)
         {
             m_tableValeursChamps[variable.IdVariable] = ((CVariableDynamiqueSaisie)variable).GetValeurParDefaut();
         }
         return(m_tableValeursChamps[variable.IdVariable]);
     }
 }
Beispiel #17
0
        //-------------------------------------------------
        public object GetValeurChamp(string strIdVariable)
        {
            object             val      = null;
            IVariableDynamique variable = GetVariable(strIdVariable);

            if (variable is CVariableDynamiqueCalculee)
            {
                return(((CVariableDynamiqueCalculee)variable).GetValeur(this));
            }
            m_tableValeursChamps.TryGetValue(strIdVariable, out val);
            if (val == null)
            {
                if (!m_tableValeursChamps.ContainsKey(strIdVariable))
                {
                    foreach (IVariableDynamique v in ListeVariables)
                    {
                        if (v.IdVariable == strIdVariable)
                        {
                            IVariableDynamiqueAValeurParDefaut vAvecDef = v as IVariableDynamiqueAValeurParDefaut;
                            if (vAvecDef != null)
                            {
                                val = vAvecDef.GetValeurParDefaut();
                            }
                            break;
                        }
                    }
                }
                m_tableValeursChamps[strIdVariable] = val;
            }
            return(val);
        }
Beispiel #18
0
        public bool EditeLaVariable(IVariableDynamique variable, IElementAVariablesDynamiquesBase eltAVariables)
        {
            Init(variable as CVariableDynamiqueSaisie, eltAVariables);
            bool bResult = ShowDialog() == DialogResult.OK;

            Dispose();
            return(bResult);
        }
Beispiel #19
0
 //-------------------------------------------------
 public virtual bool IsVariableUtilisee(IVariableDynamique variable)
 {
     if (variable is CVariableDynamiqueSysteme)
     {
         return(true);
     }
     return(false);
 }
Beispiel #20
0
 //---------------------------------------------
 public CResultAErreur SetValeurChamp(IVariableDynamique variable, object valeur)
 {
     if (variable == null)
     {
         return(CResultAErreur.True);
     }
     return(SetValeurChamp(variable.IdVariable, valeur));
 }
Beispiel #21
0
 /// /////////////////////////////////////////////
 public void OnChangeVariable(IVariableDynamique variable)
 {
     if (m_elementAVariablesExterne != null)
     {
         m_elementAVariablesExterne.OnChangeVariable(variable);
     }
     // TODO : ajoutez l'implémentation de C2iRequete.OnChangeVariable
 }
Beispiel #22
0
 //-----------------------------------------------------------------------------
 public object GetValeurChamp(IVariableDynamique variable)
 {
     if (variable == null)
     {
         return(null);
     }
     return(GetValeurChamp(variable.IdVariable));
 }
Beispiel #23
0
 //-------------------------------------------------
 public virtual void RemoveVariable(IVariableDynamique variable)
 {
     if (m_elementAVariablesExterne != null)
     {
         m_elementAVariablesExterne.RemoveVariable(variable);
         return;
     }
     m_listeVariables.Remove(variable);
 }
Beispiel #24
0
        //-------------------------------------------------
        public virtual CResultAErreur SetValeurChamp(IVariableDynamique variable, object valeur)
        {
            if (variable != null)
            {
                SetValeurChamp(variable.IdVariable, valeur);
            }

            return(CResultAErreur.True);
        }
Beispiel #25
0
        //--------------------------------------------------------------
        public void AddVariable(IVariableDynamique variable)
        {
            CVariableDynamique v = variable as CVariableDynamique;

            if (v != null)
            {
                m_listeVariables.Add(v);
            }
        }
Beispiel #26
0
 /// /////////////////////////////////////////////
 public bool IsVariableUtilisee(IVariableDynamique variable)
 {
     if (m_elementAVariablesExterne != null)
     {
         return(m_elementAVariablesExterne.IsVariableUtilisee(variable));
     }
     // TODO : ajoutez l'implémentation de C2iRequete.IsVariableUtilisee
     return(false);
 }
Beispiel #27
0
 //-------------------------------------------------
 public bool IsVariableUtilisee(IVariableDynamique variable)
 {
     if (variable is CVariableDynamiqueSysteme)
     {
         return(true);
     }
     //A FAIRE
     return(false);
 }
 /// //////////////////////////////////////////////////////////////////////
 public CDefinitionProprieteDynamiqueVariableDynamique(IVariableDynamique variable, bool bHasSubProperties)
     : base(
         variable.Nom,
         variable.IdVariable,
         variable.TypeDonnee,
         bHasSubProperties,
         false)
 {
     m_variable = variable;
 }
 /// //////////////////////////////////////////////////////////////////////
 public CDefinitionProprieteDynamiqueVariableDynamique(IVariableDynamique variable)
     : base(
         variable.Nom,
         variable.IdVariable,
         variable.TypeDonnee,
         CFournisseurGeneriqueProprietesDynamiques.HasSubProperties(variable.TypeDonnee.TypeDotNetNatif),
         false)
 {
     m_variable = variable;
 }
        //--------------------------------------------------------------
        public CResultAErreur SetValeurChamp(IVariableDynamique variable, object valeur)
        {
            CResultAErreur result = CDistantElementAVariables.WriteValeur(valeur, variable, m_contexteDonneeLocal);

            if (result)
            {
                return(m_distantElementAVariables.SetValeurChamp(variable, (byte[])result.Data));
            }
            return(result);
        }