//------------------------------------------------------------------------- private void ApplyModifRoles() { Hashtable tableRoles = new Hashtable(); foreach (CRelationRoleActeur_GroupeActeur rel in GroupeActeur.RelationsRoles) { tableRoles[rel.RoleActeur] = rel; } foreach (ListViewItem item in m_listViewRoles.Items) { CRoleActeur role = (CRoleActeur)item.Tag; if (item.Checked) { if (!tableRoles.ContainsKey(role)) { CRelationRoleActeur_GroupeActeur relation = new CRelationRoleActeur_GroupeActeur(GroupeActeur.ContexteDonnee); relation.GroupeActeur = GroupeActeur; relation.RoleActeur = role; } } else { if (tableRoles.ContainsKey(role)) { CRelationRoleActeur_GroupeActeur relation = (CRelationRoleActeur_GroupeActeur)tableRoles[role]; relation.Delete(); } } } }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CRelationRoleActeur_GroupeActeur relation = (CRelationRoleActeur_GroupeActeur)objet; //Ajouter ici les éventuels tests de validité } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = CResultAErreur.True; //Si ajout d'un role, ajoute le rôle à tous les acteurs de ce groupe DataTable table = contexte.Tables[GetNomTable()]; foreach (DataRow row in table.Rows) { if (row.RowState == DataRowState.Added) { CRelationRoleActeur_GroupeActeur relation = new CRelationRoleActeur_GroupeActeur(row); result = AddRoleToActeurs(relation.RoleActeur, relation.GroupeActeur); if (!result) { return(result); } } } return(result); }