Ejemplo n.º 1
0
        public CResultAErreur SetValue(object objet, string strPropriete, object valeur)
        {
            CResultAErreur result = CResultAErreur.True;

            if (!CInterpreteurTextePropriete.SetValue(objet, strPropriete, valeur))
            {
                result.EmpileErreur(I.T("Error while affecting value|20003"));
            }
            return(result);
        }
Ejemplo n.º 2
0
        private void m_btnOk_Click(object sender, System.EventArgs e)
        {
            int nIndice = m_numUpStart.IntValue;
            int nPas    = m_numUpPas.IntValue;

            foreach (ListViewItem item in m_wndListeEntites.Items)
            {
                CInterpreteurTextePropriete.SetValue(
                    item.Tag, m_strProprieteOrdre, nIndice);
                nIndice += nPas;
            }
            DialogResult = DialogResult.OK;
            Close();
        }
 //-------------------------------------------------------------------
 public void ApplyModifs()
 {
     if (LockEdition)
     {
         return;
     }
     foreach (ListViewItem item in m_listView.Items)
     {
         CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)item.Tag;
         bool bCreate = item.Checked;
         if (ExclusionParException)
         {
             bCreate = !bCreate;
         }
         if (bCreate)
         {
             CObjetDonnee relation = (CObjetDonnee)m_hashtableObjets[objet];
             if (relation == null)
             {
                 relation = (CObjetDonnee)Activator.CreateInstance(m_listeRelationsSelectionnees.TypeObjets, new object[] { m_contexte });
                 relation.CreateNewInCurrentContexte(null);
                 CInterpreteurTextePropriete.SetValue(relation, m_strPropObjetConcerne, m_objetConcerne);
                 CInterpreteurTextePropriete.SetValue(relation, m_strProprieteRetournantObjetSecondaire, objet);
                 m_hashtableObjets[objet] = relation;
             }
             if (OnValideRelation != null)
             {
                 object data = GetDataAssocie(objet);
                 if (OnSelectionChanged != null)
                 {
                     OnSelectionChanged(objet, data);
                 }
                 data = GetDataAssocie(objet);
                 OnValideRelation(objet, relation, ref data);
                 SetDataAssocie(objet, data);
             }
         }
         else
         {
             if (m_hashtableObjets[objet] != null)
             {
                 ((CObjetDonnee)m_hashtableObjets[objet]).Delete();
                 m_hashtableObjets[objet] = null;
             }
         }
     }
 }
Ejemplo n.º 4
0
        /// ///////////////////////////////////////////////////////
        /// <summary>
        /// Passe la cellule en édition grâce au contrôle correspondant
        /// </summary>
        protected override void Edit(
            CurrencyManager cur,
            int nLigne,
            Rectangle bounds,
            bool bReadOnly,
            string strValue,
            bool bCellIsVisible)
        {
            if (m_control == null)
            {
                return;
            }
            if (this.DataGridTableStyle.DataGrid.ReadOnly)
            {
                m_control.Hide();
                return;
            }
            m_bEnEdition = true;
            try
            {
                object valeur = GetColumnValueAtRow(cur, nLigne);
                m_control.Parent = this.DataGridTableStyle.DataGrid;
                m_control.Bounds = bounds;
                if (BackColor.A == 255)
                {
                    m_control.BackColor = BackColor;
                }
                else
                {
                    m_control.BackColor = this.DataGridTableStyle.DataGrid.BackColor;
                }
                if (ForeColor.A == 255)
                {
                    m_control.ForeColor = ForeColor;
                }
                else
                {
                    m_control.ForeColor = this.DataGridTableStyle.DataGrid.ForeColor;
                }
                if (m_font != null)
                {
                    m_control.Font = Font;
                }

                m_control.Show();
                try
                {
                    CInterpreteurTextePropriete.SetValue(m_control, m_strProprieteControl, valeur);
                }
                catch
                {
                    try
                    {
                        //Tente en texte !
                        CInterpreteurTextePropriete.SetValue(m_control, m_strProprieteControl, GetString(cur.Current, valeur));
                    }
                    catch
                    {
                        //Rien à faire, on n'y arrive pas. Tant pis
                    }
                }
                m_control.Focus();

                //Définit le controle qui doit éditer la valeur de la cellule
                ColumnStartedEditing(m_control);
            }
            catch {}
        }
Ejemplo n.º 5
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

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

            // Evalue la formule de l'entité destination
            result = ExpressionEntiteDestination.Eval(contexteEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Error during @1 formula evaluation|216", ExpressionEntiteDestination.ToString()));
                return(result);
            }
            CObjetDonneeAIdNumeriqueAuto objetDestination = (CObjetDonneeAIdNumeriqueAuto)result.Data;

            // Evalue la formule de l'entité source
            result = ExpressionEntiteSource.Eval(contexteEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Error during @1 formula evaluation|216", ExpressionEntiteSource.ToString()));
                return(result);
            }
            CObjetDonneeAIdNumeriqueAuto objetSource = (CObjetDonneeAIdNumeriqueAuto)result.Data;

            if (m_bCopieComplete)
            {
                //Copie toutes les propriétés, sauf les champs
                if (objetSource == null || objetDestination == null)
                {
                    return(result);
                }
                Type      tp    = objetDestination.GetType();
                DataTable table = objetDestination.Row.Table;
                if (table == null)
                {
                    return(result);
                }
                List <string> keys = new List <string>();
                foreach (DataColumn col in table.PrimaryKey)
                {
                    keys.Add(col.ColumnName);
                }
                objetDestination.ContexteDonnee.CopyRow(objetSource.Row, objetDestination.Row, keys.ToArray());
                IElementAChamps eltChampsDest   = objetDestination as IElementAChamps;
                IElementAChamps eltChampsSource = objetSource as IElementAChamps;
                if (eltChampsDest == null || eltChampsSource == null)
                {
                    return(result);
                }
                foreach (CRelationElementAChamp_ChampCustom relation in eltChampsSource.RelationsChampsCustom)
                {
                    eltChampsDest.SetValeurChamp(relation.ChampCustom, relation.Valeur);
                }
            }
            else
            {
                // Faire la copie de l'objet
                for (int i = 0; i < m_lstProprietesDynamiquesACopier.Length; i++)
                {
                    CDefinitionProprieteDynamique definitionPropriete = m_lstProprietesDynamiquesACopier[i];

                    // Si c'est un champs custom
                    if (definitionPropriete is CDefinitionProprieteDynamiqueChampCustom)
                    {
                        if (!(objetSource is IElementAChamps))
                        {
                            result.EmpileErreur(I.T("@1 : Incorrect custom field of source object|298", definitionPropriete.Nom));
                            return(result);
                        }
                        if (!(objetDestination is IElementAChamps))
                        {
                            result.EmpileErreur(I.T("@1 : Incorrect custom field of destination object|299", definitionPropriete.Nom));
                            return(result);
                        }
                        // Get la valeur du champ custom de l'objet source
                        object valeurChamp = ((IElementAChamps)objetSource).GetValeurChamp(((CDefinitionProprieteDynamiqueChampCustom)definitionPropriete).DbKeyChamp.StringValue);
                        // Set la valeur du champ custom de l'objet destination
                        result = ((IElementAChamps)objetDestination).SetValeurChamp(
                            ((CDefinitionProprieteDynamiqueChampCustom)definitionPropriete).DbKeyChamp.StringValue,
                            valeurChamp);
                    }
                    // Si c'est un champ normal de la base
                    else
                    {
                        string strProp = definitionPropriete.NomProprieteSansCleTypeChamp;
                        // Get la valeur de propriété de l'objet source
                        object valeurProp = CInterpreteurTextePropriete.GetValue(objetSource, strProp);
                        // Set la valeut de propriété de l'objet destination

                        if (!CInterpreteurTextePropriete.SetValue(objetDestination, strProp, valeurProp))
                        {
                            result.EmpileErreur(I.T("Property @1 : Failed to set the value|300", strProp));
                            return(result);
                        }
                    }
                }
            }

            return(result);
        }