public async Task <PaginatedResult <OrderDetailModel> > GetPage(GetOrderDetailPageQuery search) { var query = _readOnlyRepository.Query <OrderDetail>(); if (!string.IsNullOrEmpty(search.Term)) { var term = search.Term.Trim(); query = query.Where(x => x.Product.ProductName.Contains(term)); } var sortCriteria = search.GetSortCriteria(); var items = query .ProjectTo <OrderDetailModel>(_mapper.ConfigurationProvider) .OrderByOrDefault(sortCriteria, x => x.Product.ProductName); var page = await _paginator.MakePageAsync(_readOnlyRepository, query, items, search); return(page); }
public async Task <IActionResult> GetPage([FromQuery] GetOrderDetailPageQuery query) { var result = await _orderDetailService.GetPage(query); return(Ok(result)); }