public List<TreeJsonModel> GetAllTree() { AreaSearchCondition csc = new AreaSearchCondition() { OrderBy = EnumAreaSearchOrderBy.OrderById }; List<AreaEntity> ceListBuffer = new List<AreaEntity>(); List<TreeJsonModel> treeJsonModelBuffer = new List<TreeJsonModel>(); List<AreaEntity> ceList = _areaService.GetAreaByCondition(csc).ToList(); foreach (var ce in ceList) { if (ce.ParentId == 0) { ceListBuffer.Add(ce);//查找第一级; } } foreach (var ce in ceListBuffer) { TreeJsonModel TJM = new TreeJsonModel() { label = ce.AreaName, Id = ce.Id }; treeJsonModelBuffer.Add(TJM); TJM.children = GetJsonFromTreeModel(TJM.Id); } return treeJsonModelBuffer; }
public HttpResponseMessage GetAllClassify() { AreaSearchCondition csc = new AreaSearchCondition() { OrderBy = EnumAreaSearchOrderBy.OrderById }; return PageHelper.toJson(GetAllTree().ToList()); }
public HttpResponseMessage GetCondition(int parentId=0) { var areaCon = new AreaSearchCondition { ParentId = parentId }; var areaList = _areaService.GetAreaByCondition(areaCon).Select(a=>new { Id=a.Id, AreaName=a.AreaName }).ToList(); var typeCon = new ParameterSearchCondition { Name="户型" }; var typeList = _parameterService.GetParametersByCondition(typeCon).SelectMany(p => p.Values).Select(v=>new { TypeId = v.Id, TypeName = v.Parametervalue }).ToList(); return PageHelper.toJson(new { AreaList = areaList, TypeList = typeList }); }
public IQueryable<AreaEntity> GetAreaByCondition(AreaSearchCondition condition) { var query = _areaRepository.Table; try { if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } if (condition.ParentId.HasValue) { query = query.Where(q => q.ParentId == condition.ParentId); } if (!string.IsNullOrEmpty(condition.AreaName)) { query = query.Where(q => q.AreaName == condition.AreaName); } if (condition.OrderBy.HasValue) { switch (condition.OrderBy.Value) { case EnumAreaSearchOrderBy.OrderById: query = condition.IsDescending ? query.OrderByDescending(q => q.Id) : query.OrderBy(q => q.Id); break; } } else { query = query.OrderBy(q => q.Id); } if (condition.Page.HasValue && condition.PageCount.HasValue) { query = query.Skip((condition.Page.Value - 1) * condition.PageCount.Value).Take(condition.PageCount.Value); } return query; } catch (Exception e) { _log.Error(e,"数据库操作出错"); return null; } }
public int GetAreaCount(AreaSearchCondition condition) { var query = _areaRepository.Table; try { if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } if (!string.IsNullOrEmpty(condition.AreaName)) { query = query.Where(q => q.AreaName == condition.AreaName); } return query.Count(); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return -1; } }
public List<TreeJsonModel> GetJsonFromTreeModel(int nodeId) { AreaSearchCondition csc = new AreaSearchCondition() { OrderBy = EnumAreaSearchOrderBy.OrderById }; List<TreeJsonModel> datalist = new List<TreeJsonModel>(); List<AreaEntity> ceList = _areaService.GetBySuperArea(nodeId).ToList();//找出该级的子集; foreach (var ce in ceList) { TreeJsonModel TJM = new TreeJsonModel() { label = ce.AreaName, Id = ce.Id }; datalist.Add(TJM); TJM.children = GetJsonFromTreeModel(TJM.Id);//自迭代; } if (ceList.Count == 0)//若遍历到末端,则: { return null; } else { return datalist; } }