private void SetModuleTree(Tree tree, AUTH_MODULE module, AUTH_USER_SYSTEM userSystems) { HashSet <Tree> childTreeSet = new HashSet <Tree>(); var modules = from m in module.AUTH_MODULES orderby m.SHOW_ORDER select m; foreach (var item in modules) { if (item != module) { Tree childTree = new Tree(); string moduleID = item.MODULE_ID.ToString(); //var userModules = UserModuleRepository.GetQueryable().FirstOrDefault(i => i.Module.ModuleID == new Guid(moduleID) && i.UserSystem.UserSystemID == userSystems.UserSystemID); var userModules = UserModuleRepository.GetQueryable().FirstOrDefault(i => i.AUTH_MODULE.MODULE_ID == moduleID && i.AUTH_USER_SYSTEM.USER_SYSTEM_ID == userSystems.USER_SYSTEM_ID); childTree.id = userModules.USER_MODULE_ID.ToString(); childTree.text = "模块:" + item.MODULE_NAME; int a = Convert.ToInt32(userModules.IS_ACTIVE); childTree.@checked = userModules == null ? false : Convert.ToBoolean(a); childTree.attributes = "module"; childTreeSet.Add(childTree); if (item.AUTH_MODULES.Count > 0) { SetModuleTree(childTree, item, userSystems); } if (item.AUTH_FUNCTION.Count > 0) { SetModuleFunTree(childTree, item, userModules); } } } tree.children = childTreeSet.ToArray(); }
private void InitUserSystem(AUTH_USER user, AUTH_CITY city, AUTH_SYSTEM system) { var userSystems = user.AUTH_USER_SYSTEM.Where(us => us.AUTH_CITY.CITY_ID == city.CITY_ID && us.AUTH_SYSTEM.SYSTEM_ID == system.SYSTEM_ID); if (userSystems.Count() == 0) { AUTH_USER_SYSTEM us = new AUTH_USER_SYSTEM() { //USER_SYSTEM_ID = Guid.NewGuid().ToString(), USER_SYSTEM_ID = UserSystemRepository.GetNewID("AUTH_USER_SYSTEM", "USER_SYSTEM_ID"), AUTH_USER = user, AUTH_CITY = city, AUTH_SYSTEM = system, IS_ACTIVE = user.USER_NAME == "Admin"?"1":"0" }; UserSystemRepository.Add(us); UserSystemRepository.SaveChanges(); } //var userSystem = user.AUTH_USER_SYSTEM.Single(us => us.AUTH_CITY.CITY_ID == city.CITY_ID // && us.AUTH_SYSTEM.SYSTEM_ID == system.SYSTEM_ID); var userSystem = user.AUTH_USER_SYSTEM.Single(us => us.AUTH_CITY.CITY_ID == city.CITY_ID && us.AUTH_SYSTEM.SYSTEM_ID == system.SYSTEM_ID); InitUserModule(userSystem); }
private void InitUserModule(AUTH_USER_SYSTEM userSystem) { foreach (var module in userSystem.AUTH_SYSTEM.AUTH_MODULE) { var userModules = userSystem.AUTH_USER_MODULE.Where(um => um.AUTH_MODULE.MODULE_ID == module.MODULE_ID && um.AUTH_USER_SYSTEM.USER_SYSTEM_ID == userSystem.USER_SYSTEM_ID); if (userModules.Count() == 0) { AUTH_USER_MODULE um = new AUTH_USER_MODULE() { //USER_MODULE_ID = Guid.NewGuid().ToString(),//之后再修改 USER_MODULE_ID = UserModuleRepository.GetNewID("AUTH_USER_MODULE", "USER_MODULE_ID"), AUTH_USER_SYSTEM = userSystem, AUTH_MODULE = module, IS_ACTIVE = userSystem.AUTH_USER.USER_NAME == "Admin" ? "1" : "0" }; userSystem.IS_ACTIVE = userSystem.AUTH_USER.USER_NAME == "Admin" ? "1" : "0"; SetParentUserModuleIsActiveFalse(um); UserModuleRepository.Add(um); UserModuleRepository.SaveChanges(); } var userModule = userSystem.AUTH_USER_MODULE.Single(um => um.AUTH_MODULE.MODULE_ID == module.MODULE_ID && um.AUTH_USER_SYSTEM.USER_SYSTEM_ID == userSystem.USER_SYSTEM_ID); InitUserFunctions(userModule); } }
private void GetChildMenu(Menu moduleMenu, AUTH_USER_SYSTEM userSystem, AUTH_MODULE module) { IQueryable <AUTH_ROLE_MODULE> queryRoleModule = RoleModuleRepository.GetQueryable(); HashSet <Menu> childMenuSet = new HashSet <Menu>(); var userModules = from um in userSystem.AUTH_USER_MODULE where um.AUTH_MODULE.PARENT_AUTH_MODULE == module orderby um.AUTH_MODULE.SHOW_ORDER select um; foreach (var userModule in userModules) { var childModule = userModule.AUTH_MODULE; if (childModule != module) { var roles = userSystem.AUTH_USER.AUTH_USER_ROLE.Select(ur => ur.AUTH_ROLE); if (userModule.IS_ACTIVE == "1" || userModule.AUTH_USER_FUNCTION.Any(uf => uf.IS_ACTIVE == "1") || userModule.AUTH_MODULE.AUTH_ROLE_MODULE.Any(rm => roles.Any(r => r.ROLE_ID == rm.AUTH_ROLE_SYSTEM.AUTH_ROLE.ROLE_ID && (rm.IS_ACTIVE == "1" || rm.AUTH_ROLE_FUNCTION.Any(rf => rf.IS_ACTIVE == "1")))) || userModule.AUTH_MODULE.AUTH_MODULES .Any(m => m.AUTH_USER_MODULE.Any(um => um.AUTH_USER_SYSTEM.AUTH_USER.USER_ID == userModule.AUTH_USER_SYSTEM.AUTH_USER.USER_ID && (um.IS_ACTIVE == "1" || um.AUTH_USER_FUNCTION.Any(uf => uf.IS_ACTIVE == "1")))) || userModule.AUTH_MODULE.AUTH_MODULES .Any(m => m.AUTH_ROLE_MODULE.Any(rm => roles.Any(r => r.ROLE_ID == rm.AUTH_ROLE_SYSTEM.AUTH_ROLE.ROLE_ID && (rm.IS_ACTIVE == "1" || rm.AUTH_ROLE_FUNCTION.Any(rf => rf.IS_ACTIVE == "1"))))) || userModule.AUTH_USER_SYSTEM.AUTH_USER.USER_NAME == "Admin" ) { Menu childMenu = new Menu(); childMenu.ModuleID = childModule.MODULE_ID; childMenu.ModuleName = childModule.MODULE_NAME; childMenu.SystemID = childModule.AUTH_SYSTEM.SYSTEM_ID;; childMenu.SystemName = childModule.AUTH_SYSTEM.SYSTEM_NAME; childMenu.ParentModuleID = childModule.PARENT_AUTH_MODULE.MODULE_ID; childMenu.ParentModuleName = childModule.PARENT_AUTH_MODULE.MODULE_NAME; childMenu.ModuleURL = childModule.MODULE_URL; childMenu.iconCls = childModule.INDICATE_IMAGE; childMenu.ShowOrder = Convert.ToInt32(childModule.SHOW_ORDER); childMenuSet.Add(childMenu); if (childModule.AUTH_MODULES.Count > 0) { GetChildMenu(childMenu, userSystem, childModule); } } } } moduleMenu.children = childMenuSet.ToArray(); }