public ActionResult GetAreaListJson(string areaId = "", string mode = "", string planId = "", string dataType = "", string areaName = "")
        {
            DangerSourceBLL       dsBll        = new DangerSourceBLL();
            var                   curUser      = new OperatorProvider().Current();
            List <DistrictEntity> list         = bis_districtbll.GetList().Where(p => p.OrganizeId == curUser.OrganizeId).ToList();
            List <DistrictEntity> districtdata = list.Where(p => p.DistrictCode.Contains(curUser.OrganizeCode) && p.DistrictID != "0").ToList();

            RiskPlanBLL plan = new RiskPlanBLL();
            string      ids  = plan.GetPlanAreaIds(0, planId);

            if (dataType.Equals("0") && string.IsNullOrEmpty(ids))
            {
                areaId = "-1";
            }
            if (dataType.Equals("0"))
            {
                districtdata = districtdata.Where(t => !ids.Contains(t.DistrictID)).ToList();
            }
            else
            {
                districtdata = districtdata.Where(t => areaId.Contains(t.DistrictID)).ToList();
            }
            List <DistrictEntity> list1 = new List <DistrictEntity>();

            foreach (DistrictEntity item in districtdata)
            {
                bool hasChildren = list.Count(t => t.ParentID == item.DistrictID) == 0 ? false : true;
                if (!hasChildren)
                {
                    item.Description  = item.DistrictName;
                    item.DistrictName = dsBll.GetPathName(item.DistrictCode, curUser.OrganizeId);
                    list1.Add(item);
                }
                else
                {
                    item.Description = item.DistrictName;
                    list1.Add(item);
                }
            }
            if (!string.IsNullOrWhiteSpace(areaName))
            {
                list1 = list1.Where(t => t.DistrictName.Contains(areaName.Trim())).ToList();
            }
            var JsonData = new
            {
                rows    = list1.OrderBy(t => t.DistrictCode).ThenBy(t => t.SortCode).ToList(),
                total   = 1,
                page    = 1,
                records = districtdata.Count
            };

            return(Content(JsonData.ToJson()));
        }
        public ActionResult GetCurListJson(string areaId = "", string mode = "", string planId = "", string dataType = "", string objId = "", string areaName = "")
        {
            try
            {
                var curUser = new OperatorProvider().Current();
                List <DistrictEntity> list = new List <DistrictEntity>();
                if (!string.IsNullOrEmpty(objId))
                {
                    list = bis_districtbll.GetOrgList(objId).ToList();
                }
                else
                {
                    list = bis_districtbll.GetList().ToList();
                }
                if (!string.IsNullOrWhiteSpace(areaName))
                {
                    list = list.Where(t => t.DistrictName.Contains(areaName.Trim())).ToList();
                }
                List <DistrictEntity> allList      = bis_districtbll.GetOrgList(curUser.OrganizeId).ToList();
                List <DistrictEntity> districtdata = list;
                if (!curUser.IsSystem && string.IsNullOrEmpty(objId))
                {
                    districtdata = districtdata.Where(p => p.OrganizeId == curUser.OrganizeId).ToList();
                }

                if (string.IsNullOrEmpty(areaId))
                {
                    if (mode == "1")
                    {
                        RiskPlanBLL plan = new RiskPlanBLL();
                        areaId       = plan.GetPlanAreaIds(0, planId);
                        districtdata = districtdata.Where(t => !areaId.Contains(t.DistrictID) && t.DistrictID != "0").ToList();

                        List <DistrictEntity> list1 = districtdata.Where(t => t.DistrictCode.Length > 6).ToList();
                        foreach (DistrictEntity entity in list1)
                        {
                            if (entity.DistrictCode.Length >= 6)
                            {
                                string code = entity.DistrictCode.Substring(0, 6);
                                var    d    = districtdata.Where(t => t.DistrictCode == code);
                                if (districtdata.Where(t => t.DistrictCode == code).Count() == 0)
                                {
                                    DistrictEntity de = list.Where(t => t.DistrictCode == code).FirstOrDefault();
                                    if (!districtdata.Contains(de))
                                    {
                                        districtdata.Add(de);
                                    }
                                }
                            }
                        }
                    }
                    //else
                    //{
                    //    districtdata = districtdata.Where(t => areaId.Contains(t.DistrictID) && t.DistrictID != "0").ToList();
                    //}
                    List <TreeGridEntity> treeList = new List <TreeGridEntity>();

                    string parentId = "0";
                    if (!string.IsNullOrWhiteSpace(areaName) && districtdata.Count > 0)
                    {
                        districtdata = GetParentId(districtdata, allList);
                        // parentId = districtdata[0].ParentID;
                    }
                    districtdata = districtdata.OrderBy(a => a.DistrictCode).ThenBy(a => a.SortCode).ToList();
                    foreach (DistrictEntity item in districtdata)
                    {
                        TreeGridEntity tree        = new TreeGridEntity();
                        int            count       = districtdata.Count(t => t.DistrictCode.StartsWith(item.DistrictCode));
                        int            count1      = districtdata.Count(t => t.DistrictCode.StartsWith(item.DistrictCode) && t.DistrictCode != item.DistrictCode);
                        bool           hasChildren = count1 == 0 ? false : true;
                        tree.id          = item.DistrictID;
                        tree.parentId    = item.ParentID;
                        tree.expanded    = false;
                        tree.hasChildren = hasChildren;
                        tree.childCount  = count;
                        tree.code        = item.DistrictCode;
                        string itemJson = item.ToJson();
                        tree.entityJson = itemJson;
                        treeList.Add(tree);
                    }
                    return(Content(treeList.TreeJson(parentId)));
                }
                else
                {
                    if (mode == "1")
                    {
                        RiskPlanBLL plan = new RiskPlanBLL();
                        string      ids  = plan.GetPlanAreaIds(0, planId);
                        if (!string.IsNullOrEmpty(ids) && dataType.Equals("0"))
                        {
                            areaId       = ids;
                            districtdata = districtdata.Where(t => !areaId.Contains(t.DistrictID) && t.DistrictID != "0").ToList();
                        }
                        else
                        {
                            if (dataType == "0")
                            {
                                districtdata = districtdata.Where(t => t.DistrictID != "0").ToList();
                            }
                            else
                            {
                                districtdata = districtdata.Where(t => areaId.Contains(t.DistrictID) && t.DistrictID != "0").ToList();
                            }
                        }
                        List <DistrictEntity> list1 = districtdata.Where(t => t.DistrictCode.Length > 6).ToList();
                        foreach (DistrictEntity entity in list1)
                        {
                            if (entity.DistrictCode.Length >= 6)
                            {
                                string code = entity.DistrictCode.Substring(0, 6);
                                if (districtdata.Where(t => t.DistrictCode == code).Count() == 0)
                                {
                                    DistrictEntity de = list.Where(t => t.DistrictCode == code).FirstOrDefault();
                                    if (!districtdata.Contains(de))
                                    {
                                        districtdata.Add(de);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        districtdata = districtdata.Where(t => areaId.Contains(t.DistrictID) && t.DistrictID != "0").ToList();
                    }
                    districtdata = districtdata.OrderBy(a => a.DistrictCode).ThenBy(a => a.SortCode).ToList();

                    var JsonData = new
                    {
                        rows    = districtdata,
                        total   = 1,
                        page    = 1,
                        records = districtdata.Count
                    };
                    return(Content(JsonData.ToJson()));
                }
            }
            catch (Exception ex)
            {
                return(Error(ex.ToString()));
            }
        }