public async Task <PageResultDto <StopDto> > GetAllPaging(GetStopPagingReqestDto request) { var query = from s in _context.Stops where s.IsDeleted == false join r in _context.Routes on s.RouteId equals r.Id select new { s, r }; // Filter if (!string.IsNullOrEmpty(request.Name)) { query = query.Where(x => x.s.Name.Contains(request.Name)); } if (!string.IsNullOrEmpty(request.Address)) { query = query.Where(x => x.s.Address.Contains(request.Address)); } if (request.Status >= 0) { query = query.Where(x => (int)x.s.Status == request.Status); } if (request.RouteId != null) { query = query.Where(x => x.s.RouteId == request.RouteId); } // Paging int totalRow = await query.CountAsync(); var data = await query.Skip((request.PageIndex - 1) *request.PageSize) .Take(request.PageSize) .Select(x => new StopDto() { Id = x.s.Id, Name = x.s.Name, Address = x.s.Address, Longitude = x.s.Longitude, Latitude = x.s.Latitude, TimePickUp = x.s.TimePickUp, TimeDropOff = x.s.TimeDropOff, NumberOfStudents = x.s.NumberOfStudents, Status = (int)x.s.Status, TypeStop = (int)x.s.TypeStop, RouteId = x.s.RouteId, RouteName = x.r.Name }).ToListAsync(); // Return var pageResult = new PageResultDto <StopDto>() { StatusCode = ResponseCode.Success, Message = "Thành công", TotalRecord = totalRow, Items = data }; return(pageResult); }
public async Task<PageResultDto<StopDto>> GetAllPaging([FromQuery]GetStopPagingReqestDto request) { var result = await _stopService.GetAllPaging(request); return result; }