public override IList <SpecialPermission> GetSpecialPermissionsByUserAndType(int userId, SpecialPermissionCategorization type)
 {
     return(IsAdmin ? GetSpecialPermissions() : new List <SpecialPermission>());
 }
Esempio n. 2
0
        public virtual IList <SpecialPermission> GetSpecialPermissionsByUserAndType(int userId, SpecialPermissionCategorization type)
        {
            using (var session = GetSession())
            {
                SpecialPermission specPermissionAlias = null;
                Group             groupAlias          = null;
                User userAlias = null;

                var permissions = session.QueryOver(() => specPermissionAlias)
                                  .JoinQueryOver(x => specPermissionAlias.Groups, () => groupAlias)
                                  .JoinQueryOver(x => groupAlias.Users, () => userAlias)
                                  .Where(() => userAlias.Id == userId)
                                  .And(() => specPermissionAlias.PermissionCategorization == type)
                                  .List <SpecialPermission>();

                return(permissions);
            }
        }