Example #1
0
        private static IEnumerable <Menu> getCompanyPermissions(Guid company, UserRole userRole, Website website)
        {
            var repository          = Factory.CreatePermissionRepository();
            var userRolePermitMenus = repository.QueryPermitMenusOfUserRole(userRole, website);
            var allowableMenus      = repository.QueryCompanyPermitMenus(company, website, PermissionType.Allowable);
            var forbiddenMenus      = repository.QueryCompanyPermitMenus(company, website, PermissionType.Forbidden);
            var permitMenus         = PermissionCollection.Union(userRolePermitMenus, allowableMenus);

            return(PermissionCollection.Subtract(permitMenus, forbiddenMenus));
        }
Example #2
0
        private static PermissionCollection QueryPermissionOfCommonUser(Guid company, UserRole userRole, Guid user, Website website)
        {
            var repository          = Factory.CreatePermissionRepository();
            var userPermissionRoles = repository.QueryPermissionRolesOfUser(user, website);
            var userPermissions     = PermissionCollection.Union(userPermissionRoles);
            var companyPermissions  = getCompanyPermissions(company, userRole, website);
            var finalPermissions    = PermissionCollection.Intersact(userPermissions, companyPermissions);

            return(new PermissionCollection(finalPermissions));
        }