public override IList <SpecialPermission> GetSpecialPermissionsByUserAndType(int userId, SpecialPermissionCategorization type) { return(IsAdmin ? GetSpecialPermissions() : new List <SpecialPermission>()); }
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); } }