/// <summary> /// 大小区显示一条/小区省份显示一条 /// </summary> /// <param name="dto"></param> /// <returns></returns> public static AreaResultDTO GetOneArea(AreaSearchDTO dto) { AreaResultDTO area = null; var pp = GetAPI <List <AreaResultDTO> >(WebConfiger.MasterDataServicesUrl + "Area?AreaSearchDTO=" + TransformHelper.ConvertDTOTOBase64JsonString(dto)); if (dto.AreaRegionID == null) { if (dto.AreaPID == null) { //大区 area = pp.Where(p => p.AreaID == dto.AreaID).FirstOrDefault(); } else { //小区 var qq = pp.Where(p => p.AreaID == dto.AreaPID).FirstOrDefault(); area = qq.children.Where(q => q.AreaID == dto.AreaID).FirstOrDefault(); } } else { //省 foreach (var p in pp) { var qq = p.children.Where(q => q.AreaID == dto.AreaPID).FirstOrDefault(); if (qq != null) { area = qq.children.Where(q => q.AreaID == dto.AreaRegionID).FirstOrDefault(); } } } return(area); }
/// <summary> /// 大小区显示 /// </summary> /// <param name="lngdto"></param> /// <returns></returns> public List <AreaResultDTO> GetAreaTree(AreaSearchDTO dto) { List <AreaResultDTO> result = new List <AreaResultDTO>(); var tcdmse = SingleQueryObject.GetObj(); int i = 0; var pp = tcdmse.master_AreaInfo.AsNoTracking().Where(p => p.AreaID != null); if (dto.DepartID != null) { pp = pp.Where(p => p.DepartID == dto.DepartID); } var qq = pp.ToList(); var mm = qq.Where(p => p.AreaPID == null); foreach (var m in mm) { i++; AreaResultDTO One = new AreaResultDTO(); One = Mapper.Map <master_AreaInfo, AreaResultDTO>(m); One.FictitiousID = i; One.children = new List <AreaResultDTO>(); var nn = qq.Where(p => p.AreaPID == m.AreaID); foreach (var n in nn) { i++; AreaResultDTO Two = new AreaResultDTO(); Two = Mapper.Map <master_AreaInfo, AreaResultDTO>(n); Two.FictitiousID = i; One.children.Add(Two); var ww = tcdmse.master_AreaRegionInfo.AsNoTracking().Where(w => w.AreaID == n.AreaID); List <AreaResultDTO> region = null; region = Mapper.Map <List <master_AreaRegionInfo>, List <AreaResultDTO> >(ww.ToList()); foreach (var r in region) { i++; r.FictitiousID = i; r.AreaPID = n.AreaID; } Two.children = region; } result.Add(One); } //if (dto.DepartID != null) //{ // List<int> Depat = new List<int>(); // UserAuthorityServices.GetDepare(tcdmse, Depat, dto.DepartID); // Depat = Depat.Distinct().ToList(); // result = result.Where(p => Depat.Contains(p.DepartID.Value)).ToList(); //} return(result); }