Пример #1
0
        public async Task <IActionResult> SearchList(string searchString, int page)
        {
            // verify that page can't be negative
            if (page == 0)
            {
                return(RedirectToAction(nameof(RoomList)));
            }
            // verify that there is criteria for search
            if (String.IsNullOrEmpty(searchString))
            {
                return(RedirectToAction(nameof(RoomList)));
            }

            RoomListPagination pagination = new RoomListPagination {
                CurrentPage = page == 0 ? 1 : page
            };

            IEnumerable <Room> rooms = await Task.Run(() => roomRepository.Rooms
                                                      .Where(r => r.RoomCode.Contains(searchString) || r.Name.Contains(searchString))
                                                      .OrderBy(r => r.RoomCode));

            pagination.Count = rooms.Count();

            rooms = await Task.Run(() => rooms.Skip((page - 1) * pagination.PageSize)
                                   .Take(pagination.PageSize));

            return(View(nameof(RoomList), new RoomListViewModel
            {
                Rooms = rooms,
                Pagination = pagination,
                SearchString = searchString
            }));
        }
Пример #2
0
        public async Task <IActionResult> RoomList(int page = 1)
        {
            if (page == 0)
            {
                return(RedirectToAction(nameof(RoomList)));
            }

            RoomListPagination pagination = new RoomListPagination {
                CurrentPage = page
            };

            IEnumerable <Room> rooms = await Task.Run(() => roomRepository.Rooms.OrderBy(r => r.RoomCode)
                                                      .Skip((page - 1) * pagination.PageSize)
                                                      .Take(pagination.PageSize));

            pagination.Count = roomRepository.Rooms.Count();

            return(View(new RoomListViewModel
            {
                Rooms = rooms,
                Pagination = pagination
            }));
        }