public async Task Put(int id, [FromBody] TreeDTO value) { var treeEntity = await _service.Find(id); Tree newEntity = _mapper.Map(value, treeEntity); await _service.Update(newEntity); }
/// <summary> /// 设置部门下职位 /// </summary> /// <param name="list"></param> /// <param name="treeDto"></param> /// <param name="corpId"></param> private void SetPostionList(IList <CorpDeptPositionDTO> list, TreeDTO treeDto, string corpId) { var childList = list.Where(m => m.CorpId == corpId && m.DepartId == treeDto.Id).GroupBy(m => new { m.PositionId, m.PositionName, m.FullPositionId, m.FullPositionIdName }) .Select(m => new { PositionId = m.Key.PositionId, PositionName = m.Key.PositionName, FullId = m.Key.FullPositionId, FullIdName = m.Key.FullPositionIdName }); foreach (var mModel in childList) { var childTreeDto = new TreeDTO() { Id = mModel.PositionId, Name = mModel.PositionName, FullId = mModel.FullId, FullIdName = mModel.FullIdName, IsLeaf = true }; treeDto.ChildList.Add(childTreeDto); } }
/// <summary> /// 设置公司部门 /// </summary> /// <param name="list"></param> /// <param name="treeDto"></param> private void SetDeptList(IList <CorpDeptPositionDTO> list, TreeDTO treeDto) { var childList = list.Where(m => m.CorpId == treeDto.Id).GroupBy(m => new { m.DepartId, m.DepartName }) .Select(m => new { DeptId = m.Key.DepartId, DeptName = m.Key.DepartName }); foreach (var mModel in childList) { var childTreeDto = new TreeDTO() { Id = mModel.DeptId, Name = mModel.DeptName }; treeDto.ChildList.Add(childTreeDto); this.SetPostionList(list, childTreeDto, treeDto.Id); } }
/// <summary> /// 设置子公司 /// </summary> /// <param name="corpList"></param> /// <param name="treeDto"></param> private void SetCorpChild(IList <CorporationDTO> corpList, IList <CorpDeptPositionDTO> list, TreeDTO treeDto) { var childList = corpList.Where(m => m.ParentId == treeDto.Id); foreach (var cModel in childList) { var childTreeDto = new TreeDTO() { Id = cModel.Id, Name = cModel.CorpName }; treeDto.ChildList.Add(childTreeDto); this.SetCorpChild(corpList, list, childTreeDto); this.SetDeptList(list, childTreeDto); } }
/// <summary> /// 设置公司树子列表 /// </summary> /// <param name="corp"></param> /// <param name="dto"></param> private void SetTreeChildList(IList <CorporationDTO> corpList, TreeDTO dto) { var list = corpList.Where(m => m.ParentId == dto.Id); if (list != null && list.Count() > 0) { foreach (var m in list) { var d = new TreeDTO() { Id = m.Id, Name = m.CorpName, ParentId = m.ParentId }; this.SetTreeChildList(corpList, d); dto.ChildList.Add(d); } } }
/// <summary> /// 取出树列表 /// </summary> /// <returns></returns> public ICollection <TreeDTO> FindTreeList() { var list = this.corpRepository.GetTreeList <CorporationDTO>(); var dtoList = new List <TreeDTO>(); var rootList = list.Where(m => m.ParentId == Guid.Empty.ToString()); foreach (var corp in rootList) { var dto = new TreeDTO() { Id = corp.Id, Name = corp.CorpName, ParentId = corp.ParentId }; this.SetTreeChildList(list, dto); dtoList.Add(dto); } return(dtoList); }
/// <summary> /// 获取组织结构树 /// </summary> /// <returns></returns> public IList <TreeDTO> FindOrgList() { var returnList = new List <TreeDTO>(); var allList = this.corpDepartPositionRepository.GetAllList <CorpDeptPositionDTO>(); var corpList = this.corpRepository.GetTreeList <CorporationDTO>(); var rootCorpList = corpList.Where(m => m.ParentId == Guid.Empty.ToString()); foreach (var cModel in rootCorpList) { var treeDto = new TreeDTO() { Id = cModel.Id, Name = cModel.CorpName }; returnList.Add(treeDto); //设置公司子列表 this.SetCorpChild(corpList, allList, treeDto); //设置公司部门 this.SetDeptList(allList, treeDto); } return(returnList); }
/// <summary> /// 获取用户下的所有子用户 /// 这里要看要不要把客服、上级的用户给加载出来 /// </summary> /// <param name="uid"></param> /// <returns></returns> public List <TreeDTO> GetChildrens(int uid, bool hasCustomer, bool hasParent) { var source = this.Where(item => item.ParentId == uid); List <TreeDTO> result = new List <TreeDTO>(); foreach (var item in source) { TreeDTO dto = new TreeDTO(); dto.ChildrensCount = this.Where(c => c.ParentId == item.Id).Count(); dto.HasChildrens = dto.ChildrensCount > 0; dto.Id = item.Id; dto.Title = item.Code; result.Add(dto); } // if (hasParent) { var curr = this.Get(uid); if (curr != null && curr.ParentId.HasValue) { var par = this.Get(curr.ParentId.Value); if (par != null) { result.Add(new TreeDTO { HasChildrens = false, Id = par.Id, Title = string.Format("上级 {0}", par.Code) }); } } } return(result); }
public async Task Post([FromBody] TreeDTO value) { Tree entity = _mapper.Map <TreeDTO, Tree>(value); await _service.Add(entity); }
public async Task <TreeDTO> Get(int id) { TreeDTO treeDTO = _mapper.Map <Tree, TreeDTO>(await _service.Find(id)); return(treeDTO); }