public HttpResponseMessage SearchByPagination(PageSearchDetails pageDetails) { try { return(Request.CreateResponse(HttpStatusCode.OK, productService.SearchByPage(pageDetails))); } catch (Exception e) { Console.Write(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, e)); } }
public Page <Product> FindByPage(PageSearchDetails pageDetails) { Page <Product> products; Sorts <Product> sorts = SetSorts(pageDetails.SortByField, pageDetails.IsAscOrder); var filters = new Filters <Product>(); string field = pageDetails.Field; string searchText = pageDetails.SearchText; filters.Add(field.Equals("Code") && !string.IsNullOrEmpty(searchText), x => x.Code.Contains(searchText)); filters.Add(field.Equals("Name") && !string.IsNullOrEmpty(searchText), x => x.Name.Contains(searchText)); filters.Add(field.Equals("Mark") && !string.IsNullOrEmpty(searchText), x => x.Mark.Contains(searchText)); filters.Add(field.Equals("Model") && !string.IsNullOrEmpty(searchText), x => x.Model.Contains(searchText)); products = dbContext.Products.Paginate(pageDetails.PageNumber, pageDetails.PageSize, sorts, filters); return(products); }
public Page <Product> SearchByPage(PageSearchDetails pageDetails) { return(productRepository.FindByPage(pageDetails)); }