public PagedResultModel <LandmarkModel> GetLandmarks(LandmarkRequest request)
        {
            var predicate = PredicateBuilder.True <Landmark>();

            if (!string.IsNullOrEmpty(request.LpcNumber))
            {
                predicate = predicate.And(x => x.LP_NUMBER == request.LpcNumber);
            }

            var sortModel = new SortModel
            {
                SortColumn = !string.IsNullOrEmpty(request.SortColumn) ? request.SortColumn : null,
                SortOrder  = !string.IsNullOrEmpty(request.SortOrder) ? request.SortOrder : null
            };

            var sortingList = new List <SortModel>();

            sortingList.Add(sortModel);

            int totalCount = _landmarkRepository.FindBy(predicate).Count();

            var results = _landmarkRepository
                          .GetPage(predicate, request.PageSize * (request.Page - 1), request.PageSize, sortingList);

            var modelData = Mapper.Map <IEnumerable <Landmark>, IEnumerable <LandmarkModel> >(results).ToList();

            return(new PagedResultModel <LandmarkModel>
            {
                Total = totalCount,
                Page = request.Page,
                Limit = request.PageSize,
                Results = modelData,
            });
        }
        public void Can_Get_Landmark_Paging()
        {
            var landmarkRequest = new LandmarkRequest {
                Page = 1, PageSize = 20
            };

            // Act
            var sut = _landmarkService.GetLandmarks(landmarkRequest);

            Assert.NotNull(sut);
            Assert.IsAssignableFrom <PagedResultModel <LandmarkModel> >(sut);

            var item = sut.Results.First();

            Assert.NotNull(item);
            Assert.IsType <LandmarkModel>(item);
        }
Esempio n. 3
0
        public IEnumerable <LandmarkModel> GetLandmarks([FromQuery] LandmarkRequestModel query, int limit, int page)
        {
            long totalRecords = 0;
            var  request      = new LandmarkRequest
            {
                PageSize   = limit,
                Page       = page,
                SortColumn = !string.IsNullOrEmpty(query.Sort) ? query.Sort : "LP_NUMBER",
                SortOrder  = !string.IsNullOrEmpty(query.Order) ? query.Order : "asc",
                LPCNumber  = query.LPCNumber,
            };

            var records = _landmarkService.GetLandmarks(request);

            totalRecords = records.Total;
            HttpContext.Response.Headers.Add("X-InlineCount", totalRecords.ToString());
            return(records.Results);
        }
Esempio n. 4
0
        public IActionResult GetLandmarks([FromQuery] LandmarkRequestModel query, int limit, int page)
        {
            long totalRecords;
            var  request = new LandmarkRequest
            {
                PageSize   = limit,
                Page       = page,
                SortColumn = !string.IsNullOrEmpty(query.Sort) ? query.Sort : "LP_NUMBER",
                SortOrder  = !string.IsNullOrEmpty(query.Order) ? query.Order : "asc",
                LpcNumber  = query.LpcNumber,
            };

            var records = _landmarkService.GetLandmarks(request);

            totalRecords = records.Total;
            HttpContext.Response.Headers.Add("Access-Control-Expose-Headers", "X-InlineCount");
            HttpContext.Response.Headers.Add("X-InlineCount", totalRecords.ToString());

            return(Ok(records.Results.OrderBy(x => x.Street).ThenBy(x => x.Number)));
        }
        public void Can_Get_Filtered_Paging_List()
        {
            var predicate = PredicateBuilder.True <Landmark>();
            var request   = new LandmarkRequest()
            {
                PageSize = 20,
                Page     = 1,
            };

            var sortModel = new SortModel
            {
                SortColumn = !string.IsNullOrEmpty(request.SortColumn) ? request.SortColumn : null,
                SortOrder  = !string.IsNullOrEmpty(request.SortOrder) ? request.SortOrder : null,
            };

            var sortingList = new List <SortModel>();

            sortingList.Add(sortModel);

            var results = _landmarkRepository
                          .GetPage(predicate, request.PageSize * (request.Page - 1), request.PageSize, sortingList);

            Assert.NotNull(results);
        }