public async Task <PageResult <RoomVMD> > GetRoomPagingAsync(RoomPagingRequest request) { var query = from r in _context.Rooms join f in _context.RoomFormats on r.FormatId equals f.Id select new { r, f }; if (request.Keyword != null) { query = query.Where(x => x.r.Name.Contains(request.Keyword) || x.r.Id.ToString().Contains(request.Keyword)); } PageResult <RoomVMD> result = new PageResult <RoomVMD>(); result.TotalRecord = await query.CountAsync(); result.PageIndex = request.PageIndex; result.PageSize = request.PageSize; var rooms = query.Select(x => new RoomVMD() { Id = x.r.Id, Name = x.r.Name, Format = x.f.Name }).Skip(request.PageIndex * (request.PageSize - 1)).Take(request.PageSize).OrderBy(x => x.Id).ToList(); result.Item = rooms; return(new PageResult <RoomVMD>()); }
public async Task <PageResult <RoomVMD> > GetRoomPagingAsync([FromQuery] RoomPagingRequest request) { var result = await _roomService.GetRoomPagingAsync(request); return(result); }