Пример #1
0
        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);
        }