//-------------------------------------------------- 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); } } } } }
//------------------------------------------------------ public static void EditeRestricitionsSpecifiques( IElementARestrictionsSpecifiques element, bool bModeEdition) { CFormEditRestrictionsSpecifiques form = new CFormEditRestrictionsSpecifiques(); CObjetDonneeAIdNumerique objet = element as CObjetDonneeAIdNumerique; objet.BeginEdit(); form.m_elementARestrictions = objet as IElementARestrictionsSpecifiques; form.m_extModeEdition.ModeEdition = bModeEdition; if (form.ShowDialog() == DialogResult.OK && bModeEdition) { CResultAErreur result = objet.CommitEdit(); if (!result) { CFormAlerte.Afficher(result.Erreur); } } else { objet.CancelEdit(); } form.Dispose(); }