public PageResponse <MeasurementItem> GetMeasurementList(MeasurementListRequest request) { PageResponse <MeasurementItem> response = new PageResponse <MeasurementItem>(); var queryable = _measurementRepository.GetMeasurements(request.Query.StartDate, request.Query.EndDate, request.Query.Jsn, request.Query.ShopId, request.Query.MeasurementPointId).Select(m => (MeasurementItem)m); if (request.Pagination != null) { Func <MeasurementItem, int> orderFunction = null; if (request.Pagination.OrderBy == "id") { orderFunction = OrderById; } PaginationResponse paginationResponse; response.Data = GetPage(queryable, new Pagination <MeasurementItem, int> { CurrentPage = request.Pagination.CurrentPage, PageLength = request.Pagination.PageSize, RequestedPage = request.Pagination.Page, OrderFunction = orderFunction }, out paginationResponse); response.Pagination = paginationResponse; response.Pagination.OrderBy = request.Pagination.OrderBy; return(response); } response.Data = queryable.ToList(); return(response); }
public IActionResult List(MeasurementListRequest request) { try { return(Ok(_measurementService.GetMeasurementList(request))); } catch (Exception ex) { return(StatusCode(500, ex)); } }