コード例 #1
0
ファイル: ModuleService.cs プロジェクト: radtek/HNXC_WMS
        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();
        }
コード例 #2
0
ファイル: ModuleService.cs プロジェクト: radtek/HNXC_WMS
        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);
        }
コード例 #3
0
ファイル: ModuleService.cs プロジェクト: radtek/HNXC_WMS
 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);
     }
 }
コード例 #4
0
ファイル: ModuleService.cs プロジェクト: radtek/HNXC_WMS
        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();
        }