private void m_lnkSupprimer_LinkClicked(object sender, EventArgs e) { if (m_wndListeEos.SelectedItems.Count == 0) { return; } CRelationElement_EO rel = (CRelationElement_EO)m_wndListeEos.SelectedItems[0]; if (CFormAlerte.Afficher(I.T("Supprimer le lien à l'élément sélectionné ?|126"), EFormAlerteType.Question) == DialogResult.Yes) { rel.Delete(); m_wndListeEos.Refresh(); } }
//--------------------------------------------------------- public CResultAErreur MajChamps() { if (m_panelChamps.ElementEdite != null) { m_panelChamps.AffecteValeursToElement(); } CResultAErreur result = CResultAErreur.True; Hashtable tableRelationsToDelete = new Hashtable(); Hashtable tableEntiteToRelation = new Hashtable(); foreach (CRelationElement_EO rel in CRelationElement_EO.GetListeRelationsForElement((CObjetDonneeAIdNumerique)m_elementEdite)) { tableRelationsToDelete[rel.EntiteOrganisationnelle] = true; tableEntiteToRelation[rel.EntiteOrganisationnelle] = rel; } ArrayList lstSelected = new ArrayList(); foreach (CEntiteOrganisationnelle entite in m_arbre.ElementsSelectionnes) { bool bShouldAdd = true; foreach (CEntiteOrganisationnelle entiteTest in lstSelected.ToArray()) { if (entiteTest.IsChildOf(entite)) { lstSelected.Remove(entiteTest); } if (entiteTest.IsParentOf(entite)) { bShouldAdd = false; break; } } if (bShouldAdd) { lstSelected.Add(entite); } } foreach (CEntiteOrganisationnelle entite in lstSelected) { tableRelationsToDelete[entite] = false; if (tableEntiteToRelation[entite] == null) { CRelationElement_EO rel = new CRelationElement_EO(m_elementEdite.ContexteDonnee); rel.CreateNewInCurrentContexte(); rel.EntiteOrganisationnelle = entite; rel.ElementLie = (CObjetDonneeAIdNumerique)m_elementEdite; } } foreach (DictionaryEntry entry in tableRelationsToDelete) { if ((bool)entry.Value) { CRelationElement_EO rel = (CRelationElement_EO)tableEntiteToRelation[entry.Key]; result = rel.Delete(); if (!result) { return(result); } } } return(result); }