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); }
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); }
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); }