Ejemplo n.º 1
0
        //--------------------------------------------------
        private void m_lnkRestore_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (!m_bCanRestore)
            {
                return;
            }
            DataTable table = m_grilleProprietes.DataSource as DataTable;

            if (table != null && m_objetAffiche != null && m_valeursAffichees != null)
            {
                using (CContexteDonnee contexte = new CContexteDonnee(m_objetAffiche.ContexteDonnee.IdSession, true, false))
                {
                    CObjetDonneeAIdNumerique objetAModifier = contexte.GetObjetInThisContexte(m_objetAffiche) as CObjetDonneeAIdNumerique;
                    List <DataRow>           rowsSelected   = new List <DataRow>();
                    foreach (DataRow row in table.Rows)
                    {
                        if ((bool)row[m_strColChecked])
                        {
                            rowsSelected.Add(row);
                        }
                    }
                    CResultAErreur result = CResultAErreur.True;
                    if (rowsSelected.Count > 0)
                    {
                        objetAModifier.BeginEdit();
                        foreach (DataRow row in rowsSelected)
                        {
                            IChampPourVersion champ = row[m_strColObjetHistorique] as IChampPourVersion;
                            if (champ != null)
                            {
                                IJournaliseurDonneesChamp journaliseur = CGestionnaireAChampPourVersion.GetJournaliseur(champ.TypeChampString);
                                if (journaliseur != null)
                                {
                                    result = journaliseur.AppliqueValeur(m_version.Id, champ, objetAModifier, m_valeursAffichees[champ]);
                                    if (!result)
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        if (result)
                        {
                            result = objetAModifier.CommitEdit();
                        }
                        if (!result)
                        {
                            objetAModifier.CancelEdit();
                            CFormAlerte.Afficher(result.Erreur);
                        }
                        else
                        {
                            InitForObjet(objetAModifier, m_version);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        //---------------------------------------------
        /// <summary>
        /// Retourne la valeur réelle, (en fonction du journaliseur)
        /// </summary>
        public object GetValeur()
        {
            IJournaliseurDonneesChamp journaliseur = CGestionnaireAChampPourVersion.GetJournaliseur(TypeChamp);

            if (journaliseur != null)
            {
                return(journaliseur.GetValeur(this));
            }
            return(null);
        }
Ejemplo n.º 3
0
        //-------------------------------------------------------
        public CResultAErreur AppliqueModification(CObjetDonneeAIdNumerique objet)
        {
            CResultAErreur            result       = CResultAErreur.True;
            IJournaliseurDonneesChamp journaliseur = CGestionnaireAChampPourVersion.GetJournaliseur(TypeChamp);

            if (journaliseur == null)
            {
                result.EmpileErreur(I.T("Can not apply modifications for field @1 (@2)|30002",
                                        FieldKey, TypeChamp));
                return(result);
            }
            result = journaliseur.AppliqueValeur(VersionObjet.VersionDonnees.Id, Champ, objet, GetValeur());
            return(result);
        }
Ejemplo n.º 4
0
 public static void RegisterJournaliseur(IJournaliseurDonneesChamp journaliseur)
 {
     m_tableTypeChampToJournaliseur[journaliseur.TypeChamp] = journaliseur;
 }