Пример #1
0
        /// <summary>
        /// 将ModuleDb的内容复制到LevelModuleViewModel中
        /// </summary>
        /// <param name="module">ModuleDb</param>
        /// <returns></returns>
        public LevelModuleViewModel IniModuleView(ModuleDb module)
        {
            var view = new LevelModuleViewModel();

            ModelCopier.CopyModel(module, view, "SonList");
            return(view);
        }
Пример #2
0
        /// <summary>
        /// 获取没有层级的指定条件的Moudule列表
        /// </summary>
        /// <param name = "parentCode" >父code</ param >
        /// < param name="moduleLevelCount">获取几级</param>
        /// <param name = "isCache" >是否缓存</ param >
        /// < returns ></ returns >
        public List <LevelModuleViewModel> GetSonModuleViewListIsArrayInCache(string parentCode, int moduleLevelCount = 1, bool isCache = true)
        {
            List <LevelModuleViewModel> resultList     = new List <LevelModuleViewModel>();
            List <LevelModuleViewModel> arrayListAll   = new List <LevelModuleViewModel>();
            LevelModuleViewModel        paterViewModel = null;

            if (isCache)
            {
                arrayListAll = GetLevelModuleListIsArrayAllInCache().ToList();
            }
            else
            {
                arrayListAll = GetLevelMudleListIsArrayAll().ToList();
            }
            if (arrayListAll == null)
            {
                return(new List <LevelModuleViewModel>());
            }
            if (arrayListAll.Count == 0 || moduleLevelCount == -1)
            {
                return(resultList);
            }
            if (string.IsNullOrEmpty(parentCode))
            {
                paterViewModel = arrayListAll.FirstOrDefault(c => c.module_level == 1);
                if (paterViewModel == null)
                {
                    return(resultList);
                }
                else
                {
                    resultList.Add(paterViewModel);
                }
            }
            else
            {
                paterViewModel = arrayListAll.FirstOrDefault(c => c.parent_code == parentCode);
                if (paterViewModel == null)
                {
                    return(resultList);
                }
                resultList = arrayListAll.Where(c => c.parent_code == parentCode).ToList();
            }

            if (moduleLevelCount == 1)
            {
                return(resultList);
            }
            else
            {
                moduleLevelCount = resultList[0].module_level + moduleLevelCount;
                List <LevelModuleViewModel> sonList = arrayListAll.Where(c => c.module_level > resultList[0].module_level && c.module_level < moduleLevelCount).ToList();
                resultList.AddRange(sonList);
            }
            return(resultList);
        }
Пример #3
0
        public static JsonZtree IniJsonZtree(LevelModuleViewModel model)
        {
            JsonZtree jz = new JsonZtree();

            jz.id   = model.module_code;
            jz.pId  = model.parent_code;
            jz.name = model.module_name;
            if (model.module_level == 1)
            {
                jz.open = "true";
            }
            return(jz);
        }
Пример #4
0
 /// <summary>
 /// 递归初始化模块子集
 /// </summary>
 /// <param name="model">父模块</param>
 /// <param name="moduleViewList">模块列表</param>
 public void IniLevelModuleList(LevelModuleViewModel model, List <LevelModuleViewModel> moduleViewList)
 {
     if (model != null && moduleViewList.Count > 0)
     {
         List <LevelModuleViewModel> sonList = moduleViewList.Where(c => c.parent_code == model.module_code).ToList();
         if (sonList.Count > 0)
         {
             model.SonList = sonList;
             foreach (var moduleViewModel in sonList)
             {
                 IniLevelModuleList(moduleViewModel, moduleViewList);
             }
         }
     }
 }
Пример #5
0
        /// <summary>
        /// 将ModuleDb列表的内容复制到LevelModuleViewModel列表中
        /// </summary>
        /// <param name="list">ModuleDb列表</param>
        /// <returns></returns>
        public List <LevelModuleViewModel> IniModuleViewList(List <ModuleDb> list)
        {
            var viewModels = new List <LevelModuleViewModel>();

            foreach (var module in list)
            {
                LevelModuleViewModel viewModule = IniModuleView(module);
                if (list.FirstOrDefault(c => c.parent_code == module.module_code) != null)
                {
                    viewModule.isParent = true;
                }
                else
                {
                    viewModule.isParent = false;
                }
                viewModels.Add(viewModule);
            }
            return(viewModels);
        }