public async Task <IActionResult> Get(string id) { var nation = await _Context.NationalUrbans.FirstOrDefaultAsync(x => x.Id == id); if (nation != null) { var dto = new NationalUrbanDTO(); dto.Id = nation.Id; dto.Name = nation.Name; dto.ParentId = nation.ParentId; dto.NationalUrbanType = nation.NationalUrbanType; var children = await _Context.NationalUrbans.Where(x => x.ParentId == nation.Id).ToListAsync(); if (children != null) { var childrenDto = new List <NationalUrbanDTO>(); foreach (var item in children) { var childDto = new NationalUrbanDTO(); childDto.Id = item.Id; childDto.Name = item.Name; childDto.ParentId = item.ParentId; childDto.NationalUrbanType = item.NationalUrbanType; childrenDto.Add(childDto); } dto.Children = childrenDto; return(Ok(dto)); } } return(NotFound()); }
public async Task <IActionResult> Get([FromQuery] NationalUrbanQueryModel model) { //如果没有输入省市区的类型,默认查询省信息 if (string.IsNullOrWhiteSpace(model.NationalUrbanTypes)) { model.NationalUrbanTypes = NationalUrbanTypeConst.Province; } var query = _Context.NationalUrbans.Select(x => x); if (!string.IsNullOrWhiteSpace(model.Search)) { query = query.Where(x => x.Name.Contains(model.Search)); } if (!string.IsNullOrWhiteSpace(model.NationalUrbanTypes)) { var typeArr = model.NationalUrbanTypes.Split(",", StringSplitOptions.RemoveEmptyEntries); query = query.Where(x => typeArr.Contains(x.NationalUrbanType)); } if (!string.IsNullOrEmpty(model.ParentId)) { query = query.Where(x => x.ParentId == model.ParentId); } var res = await query.SimplePaging(model.Page, model.PageSize, model.OrderBy, "Name", model.Desc);; var resDto = new PagedData <NationalUrbanDTO>(); resDto.Page = res.Page; resDto.Size = res.Size; resDto.Total = res.Total; if (res.Data != null && res.Data.Count > 0) { var nationsDto = new List <NationalUrbanDTO>(); foreach (var item in res.Data) { var dto = new NationalUrbanDTO(); dto.Id = item.Id; dto.Name = item.Name; dto.ParentId = item.ParentId; dto.NationalUrbanType = item.NationalUrbanType; nationsDto.Add(dto); } resDto.Data = nationsDto; } return(Ok(resDto)); }