예제 #1
0
        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);
        }
예제 #2
0
 public IActionResult List(MeasurementListRequest request)
 {
     try
     {
         return(Ok(_measurementService.GetMeasurementList(request)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }