コード例 #1
0
ファイル: AreaService.cs プロジェクト: glustful/.NetProject
        public int GetAreaCount(AreaSearchCondition condition)
        {
            var query = _areaRepository.Table;

            try
            {
                if (condition.AdddateBegin.HasValue)
                {
                    query = query.Where(q => q.AddDate >= condition.AdddateBegin.Value);
                }
                if (condition.AdddateEnd.HasValue)
                {
                    query = query.Where(q => q.AddDate < condition.AdddateEnd.Value);
                }
                if (!string.IsNullOrEmpty(condition.Codeid))
                {
                    query = query.Where(q => q.CodeId == condition.Codeid);
                }
                if (!string.IsNullOrEmpty(condition.Name))
                {
                    query = query.Where(q => q.Name.Contains(condition.Name));
                }
                if (condition.Ids != null && condition.Ids.Any())
                {
                    query = query.Where(q => condition.Ids.Contains(q.Id));
                }
                return(query.Count());
            }
            catch (Exception e)
            {
                _log.Error(e, "数据库操作出错");
                return(-1);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public HttpResponseMessage GetAllClassify()
        {
            AreaSearchCondition csc = new AreaSearchCondition()
            {
                OrderBy = EnumAreaSearchOrderBy.OrderById
            };

            return(PageHelper.toJson(GetAllTree().ToList()));
        }
コード例 #5
0
        public HttpResponseMessage Get([FromUri] AreaSearchCondition condition)
        {
            var models = _areaService.GetAreasByCondition(condition).ToList().Select(c => new AreaModel
            {
                Id      = c.Id,
                Codeid  = c.CodeId,
                Adddate = c.AddDate,
                Name    = c.Name,
                //ParentName = c.Parent.Name,
                Parent = c.Parent == null?null:new AreaModel {
                    Id = c.Parent.Id, Adddate = c.Parent.AddDate, Name = c.Parent.Name
                }
            }).ToList();
            var totalCount = _areaService.GetAreaCount(condition);

            return(PageHelper.toJson(new { List = models, Condition = condition, TotalCount = totalCount }));
        }
コード例 #6
0
ファイル: AreaService.cs プロジェクト: glustful/.NetProject
        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);
            }
        }
コード例 #7
0
        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 }));
        }
コード例 #8
0
ファイル: AreaService.cs プロジェクト: glustful/.NetProject
        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);
            }
        }