Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        /// ////////////////////////////////////////////////////////
        public static Type GetTypeDonneesActeurRole(string strCodeRole)
        {
            CRoleActeur role = GetRole(strCodeRole);

            if (role != null)
            {
                return(role.TypeDonneeActeur);
            }
            return(null);
        }
Ejemplo n.º 3
0
        /// ////////////////////////////////////////////////////////
        public static string GetLibelleRole(string strCodeRole)
        {
            CRoleActeur role = GetRole(strCodeRole);

            if (role != null)
            {
                return(role.Libelle);
            }
            return("");
        }
Ejemplo n.º 4
0
        //-------------------------------------------------------------------
        public bool HasRole(CRoleActeur role)
        {
            CFiltreData filtre = new CFiltreData(
                "CodeRole = @1",
                role.CodeRole);
            CListeObjetsDonnees liste = RelationsRoles;

            liste.Filtre = filtre;
            return(liste.Count > 0);
        }
Ejemplo n.º 5
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;
        }