private async Task <PaginatedList <Hotel> > GetPaginatedHotels(IQueryable <Hotel> hotels, QueryParams queryParams)
        {
            var filteredHotels = FilterByParams(hotels, queryParams);
            var orderedHotels  = QueryableUtils <Hotel> .OrderCustom(filteredHotels, queryParams);

            return(await PaginatedList <Hotel> .CreateAsync(orderedHotels, queryParams.CurrentPage, queryParams.PageSize));
        }
Exemple #2
0
        public void OrderCustom_ShouldRetainOrder_WithWrongParams()
        {
            var source      = GetSource();
            var queryParams = new QueryParams {
                OrderBy = "NotExisting"
            };

            var ordered = QueryableUtils <Model> .OrderCustom(source, queryParams);

            Assert.Equal(source, ordered);
        }
Exemple #3
0
        public void OrderCustom_ShouldOrderByDesc_WithInt()
        {
            var source      = GetSource();
            var queryParams = new QueryParams {
                OrderBy = "Value", Desc = true
            };

            var ordered = QueryableUtils <Model> .OrderCustom(source, queryParams);

            Assert.Equal(5, ordered.Count());
            Assert.Equal(5, ordered.First().Value);
            Assert.Equal(1, ordered.Last().Value);
        }
Exemple #4
0
        public void OrderCustom_ShouldOrderByAsc_WithString()
        {
            var source      = GetSource();
            var queryParams = new QueryParams {
                OrderBy = "Name", Desc = false
            };

            var ordered = QueryableUtils <Model> .OrderCustom(source, queryParams);

            Assert.Equal(5, ordered.Count());
            Assert.Equal("A", ordered.First().Name);
            Assert.Equal("E", ordered.Last().Name);
        }