/// <summary> /// 得到一条部门信息 /// </summary> /// <returns></returns> public DepartmentResultDTO GetDepartment(int id) { DepartmentResultDTO result = new DepartmentResultDTO(); var tcdmse = SingleQueryObject.GetObj(); var pp = tcdmse.master_DepartmentInfo.AsNoTracking().Where(p => p.DepartID == id).FirstOrDefault(); if (pp == null) { throw new Exception("此条信息不存在!"); } result = AutoMapper.Mapper.Map <master_DepartmentInfo, DepartmentResultDTO>(pp); return(result); }
private DepartmentResultDTO GetDepartTree(DepartmentResultDTO root) { var tcdmse = SingleQueryObject.GetObj(); var roots = tcdmse.master_DepartmentInfo.AsNoTracking().Where(p => p.DepartParentID == root.DepartID).ToList(); var departlist = Mapper.Map <List <master_DepartmentInfo>, List <DepartmentResultDTO> >(roots); for (int i = 0; i < departlist.Count; i++) { departlist[i].ParentPathName = root.PathName; departlist[i] = GetDepartTree(departlist[i]); } if (departlist.Count > 0) { root.children = departlist; } return(root); }
private static DepartmentTreeDTO GenerateDepartmentTree(DepartmentResultDTO root) { DepartmentTreeDTO result = new DepartmentTreeDTO(); result.children = new List <DepartmentTreeDTO>(); result.id = root.DepartID; result.path = root.DepartPath; result.text = root.DepartName; if (root.children != null) { foreach (var child in root.children) { var item = GenerateDepartmentTree(child); result.children.Add(item); } } return(result); }
public static void FictitiousDepaArea(List <DepaAreaTreeModel> result, ref int i, DepartmentResultDTO resultdepa, List <DepartmentResultDTO> resultdepas, List <AreaResultDTO> resultarea) { i--; DepaAreaTreeModel depareas = new DepaAreaTreeModel(); depareas.id = i; depareas.text = resultdepa.DepartName; depareas.children = new List <DepaAreaTreeModel>(); var ss = resultarea.Where(p => p.DepartID == resultdepa.DepartID).Select(s => new DepaAreaTreeModel { id = s.AreaID, text = s.AreaName }).ToList(); depareas.children.AddRange(ss); result.Add(depareas); var ww = resultdepas.Where(q => q.DepartParentID == resultdepa.DepartID).ToList(); foreach (var w in ww) { FictitiousDepaArea(depareas.children, ref i, w, resultdepas, resultarea); } }