예제 #1
0
        /// <summary>
        /// 得到下级行政区划(带请选择)
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ActionResult GetSearchNextLevelRegionList(RegionSearchDTO dto)
        {
            var result = AreaRegionProvider.GetNextLevelRegionList(dto);

            result.Insert(0, new RegionResultDTO {
                RegionID = -1, RegionName = "请选择"
            });
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        /// <summary>
        /// 得到一个行政区划信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public static RegionResultDTO GetRegion(RegionSearchDTO dto)
        {
            RegionResultDTO result = null;

            if (GlobalStaticData.RegionList.Count > 0)
            {
                result = GlobalStaticData.RegionList.Where(p => p.RegionID == dto.RegionID).FirstOrDefault();
            }

            return(result);
        }
예제 #3
0
        /// <summary>
        /// 得到下级行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public static List <RegionResultDTO> GetNextLevelRegionList(RegionSearchDTO dto)
        {
            List <RegionResultDTO> result = new List <RegionResultDTO>();

            if (GlobalStaticData.RegionList.Count > 0)
            {
                result = GlobalStaticData.RegionList.Where(p => p.RegionPID == dto.RegionID).ToList();
            }

            return(result);
        }
예제 #4
0
        /// <summary>
        /// 删除行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public static ResultData <object> DeleteRegion(RegionSearchDTO dto)
        {
            var result = new ResultData <object>();

            try
            {
                result = DeleteAPI <ResultData <object> >(WebConfiger.MasterDataServicesUrl + "Region?RegionSearchDTO=" + TransformHelper.ConvertDTOTOBase64JsonString(dto));
                GlobalStaticData.RegionList = GetAPI <List <RegionResultDTO> >(WebConfiger.MasterDataServicesUrl + "Region");
            }
            catch (Exception e)
            {
                result.Message = e.Message;
            }

            return(result);
        }
예제 #5
0
        /// <summary>
        /// 得到第一级行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public static List <RegionResultDTO> GetFirstLevelRegionList(RegionSearchDTO dto)
        {
            List <RegionResultDTO> result = new List <RegionResultDTO>();

            if (GlobalStaticData.RegionList.Count > 0)
            {
                var root = GlobalStaticData.RegionList.Where(p => p.RegionLevel == 0).FirstOrDefault();
                if (root != null)
                {
                    var first = GlobalStaticData.RegionList.Where(p => p.RegionLevel == 1).OrderBy(m => m.RegionID).ToList();
                    root.children = first;
                }

                result.Add(root);
            }

            return(result);
        }
예제 #6
0
        public HttpResponseMessage DeleteRegion(string RegionSearchDTO)
        {
            RegionSearchDTO    dto          = TransformHelper.ConvertBase64JsonStringToDTO <RegionSearchDTO>(RegionSearchDTO);
            ResultDTO <object> actionresult = new ResultDTO <object>();

            try
            {
                actionresult.SubmitResult = _IRegionServices.DeleteRegion(dto);
            }
            catch (Exception ex)
            {
                actionresult.SubmitResult = false;
                actionresult.Message      = ex.Message;
            }

            HttpResponseMessage result = new HttpResponseMessage
            {
                Content = new StringContent(JsonConvert.SerializeObject(actionresult),
                                            System.Text.Encoding.GetEncoding("UTF-8"),
                                            "application/json")
            };

            return(result);
        }
예제 #7
0
        /// <summary>
        /// 得到下级行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ActionResult GetNextLevelRegionList(RegionSearchDTO dto)
        {
            var result = AreaRegionProvider.GetNextLevelRegionList(dto);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        /// <summary>
        /// 删除行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ActionResult DeleteRegion(RegionSearchDTO dto)
        {
            var result = AreaRegionProvider.DeleteRegion(dto);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        /// <summary>
        /// 删除行政区划
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public bool DeleteRegion(RegionSearchDTO dto)
        {
            var result = false;

            using (var tcdmse = new Entities.TCDMS_MasterDataEntities())
            {
                HashSet <int> hs = new HashSet <int>();
                var           aa = tcdmse.master_AreaRegionInfo.AsNoTracking().Select(m => m.RegionID).Distinct().ToList();        //区域省份信息
                var           bb = tcdmse.master_DistributorInfo.AsNoTracking().Select(m => m.RegionID).Distinct().ToList();       //经销商注册省份ID
                var           cc = tcdmse.master_DistributorRegionInfo.AsNoTracking().Select(m => m.RegionID).Distinct().ToList(); //经销商授权区域信息区域ID
                var           ss = aa.Union(bb).Union(cc).ToList();
                if (ss.Count > 0)
                {
                    foreach (int s in ss)
                    {
                        if (!hs.Contains(s))
                        {
                            hs.Add(s);
                        }
                    }
                }

                var regionlist = tcdmse.dict_RegionInfo.AsNoTracking().ToList();
                //客户信息
                var cuslist = tcdmse.master_CustomerInfo.AsNoTracking().Select(m => new
                {
                    Province = m.Province,
                    City     = m.City,
                    Country  = m.Country
                }).Distinct().ToList();
                if (cuslist.Count > 0)
                {
                    foreach (var cus in cuslist)
                    {
                        var provinceid = regionlist.Where(m => m.RegionName == cus.Province).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(provinceid))
                        {
                            hs.Add(provinceid);
                        }
                        var cityid = regionlist.Where(m => m.RegionName == cus.City && m.RegionPID == provinceid).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(cityid))
                        {
                            hs.Add(cityid);
                        }
                        var countryid = regionlist.Where(m => m.RegionName == cus.Country && m.RegionPID == cityid).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(countryid))
                        {
                            hs.Add(countryid);
                        }
                    }
                }
                //客户申请信息
                var cusapplylist = tcdmse.master_CustomerApplyInfo.AsNoTracking().Select(m => new
                {
                    Province = m.Province,
                    City     = m.City,
                    Country  = m.Country
                }).Distinct().ToList();
                if (cusapplylist.Count > 0)
                {
                    foreach (var cus in cusapplylist)
                    {
                        var provinceid = regionlist.Where(m => m.RegionName == cus.Province).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(provinceid))
                        {
                            hs.Add(provinceid);
                        }
                        var cityid = regionlist.Where(m => m.RegionName == cus.City && m.RegionPID == provinceid).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(cityid))
                        {
                            hs.Add(cityid);
                        }
                        var countryid = regionlist.Where(m => m.RegionName == cus.Country && m.RegionPID == cityid).Select(m => m.RegionID).FirstOrDefault();
                        if (!hs.Contains(countryid))
                        {
                            hs.Add(countryid);
                        }
                    }
                }
                var pp = tcdmse.dict_RegionInfo.Where(p => p.RegionID == dto.RegionID).FirstOrDefault();
                if (pp == null)
                {
                    throw new Exception("此条信息不存在!");
                }
                if (hs.Contains(pp.RegionID))
                {
                    throw new Exception("此条信息已使用不可删除!");
                }
                RemoveAllChild(tcdmse, pp, hs);

                tcdmse.dict_RegionInfo.Remove(pp);

                result = tcdmse.SaveChanges() > 0;
            }

            return(result);
        }