Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }