/// <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); }
/// <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); }
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); }
/// <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); } } } }
/// <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); }