예제 #1
0
        public bool GetUserRole(int moduleId, int userId)
        {
            permitted_access_modules = UserRoleCookie.CookieGet();
            if (permitted_access_modules == null || permitted_access_modules.Count == 0)
            {
                // user'ın sahip oldugu authları cekiyor.
                var user_all_details = UserRoleRepository.GetAll(r => r.UserId == userId && !r.IsDeleted && r.IsActive).ToList();
                // bu authlar icerisinden modulleri ekliyor
                permitted_access_modules = user_all_details.Where(r => r.ModuleId != null && r.RoleId == null && r.Module.IsActive && !r.Module.IsDeleted).Select(r => r.ModuleId.Value).ToList();
                // sahip oldugu grupları alıyor.
                var groups = user_all_details.Where(r => r.ModuleId == null && r.RoleId != null).Select(r => r.RoleId).ToList();
                // o grupların sahip oldukları modulleri ekliyor.
                permitted_access_modules.AddRange(RoleModuleRepository.GetAll(r => groups.Contains(r.RoleId.Value)).Select(r => r.ModuleId.Value).ToList());

                UserRoleCookie.CookieSave(permitted_access_modules);
            }


            return(permitted_access_modules.Contains(moduleId));
        }
예제 #2
0
 public List <RoleModule> GetAll(int roleId)
 {
     return(RoleModuleRepository
            .GetAll(r => r.RoleId == roleId && !r.IsDeleted)
            .ToList());
 }