public override CResultAErreur VerifieDonnees(bool bAuMomentDeLaSauvegarde) { CResultAErreur result = CResultAErreur.True; foreach (CRelationRoleActeur_GroupeActeur relRole in RelationsRoles) { if (relRole.IsNew()) { CRoleActeur role = (CRoleActeur)relRole.RoleActeur; CStructureTable structure = CStructureTable.GetStructure(role.TypeDonneeActeur); CFiltreData filtre1 = new CFiltreData( CGroupeActeur.c_champId + " = " + Id); CFiltreDataAvance filtre2 = new CFiltreDataAvance( structure.NomTable, "Acteur.RelationsGroupes." + CGroupeActeur.c_champId + "=" + Id); CListeObjetsDonnees liste = new CListeObjetsDonnees(ContexteDonnee, typeof(CRelationActeur_GroupeActeur)); liste.Filtre = filtre1; int nb1 = liste.CountNoLoad; liste = new CListeObjetsDonnees(ContexteDonnee, relRole.RoleActeur.TypeDonneeActeur); liste.Filtre = filtre2; int nb2 = liste.CountNoLoad; if (nb1 != nb2) { result.EmpileErreur(new CErreurValidation(I.T("This Group is related to '@1' Member(s) who does not have this Role. The Role will be applied to all these Members|283", (nb1 - nb2).ToString()), true)); } } } if (!result) { return(result); } return(base.VerifieDonnees(bAuMomentDeLaSauvegarde)); }
/// //////////////////////////////////////////////////////// public static Type GetTypeDonneesActeurRole(string strCodeRole) { CRoleActeur role = GetRole(strCodeRole); if (role != null) { return(role.TypeDonneeActeur); } return(null); }
/// //////////////////////////////////////////////////////// public static string GetLibelleRole(string strCodeRole) { CRoleActeur role = GetRole(strCodeRole); if (role != null) { return(role.Libelle); } return(""); }
//------------------------------------------------------------------- public bool HasRole(CRoleActeur role) { CFiltreData filtre = new CFiltreData( "CodeRole = @1", role.CodeRole); CListeObjetsDonnees liste = RelationsRoles; liste.Filtre = filtre; return(liste.Count > 0); }
/////////////////////////////////////////////////////////////// public static void RegisterRole(string strCodeRole, string strLibelleRole, Type typeDonneeActeur) { CRoleActeur role = GetRole(strCodeRole); if (role != null && (role.Libelle != strLibelleRole || role.TypeDonneeActeur != role.TypeDonneeActeur)) { throw new Exception(I.T("The role '@1' id is not unique !|420", strCodeRole)); } role = new CRoleActeur(strCodeRole, strLibelleRole, typeDonneeActeur); m_tableRoles[role.CodeRole] = role; }