public IQueryable <InventoryItem> GetFilteredCarInventory(string searchParam, string sortColumn, int?sortOrder, int?pageParam) { BoxXDataReader dataReader = BoxXDataReader.Instance; IInventoryCollection dataCollection = ModelFactory.CreateInventoryCollection(dataReader.SchemaPropertyNames); IInventoryQuery query = QueryFactory.CreateQuery(); SortOrder? parsedSortOrder = ParseSortOrder(sortOrder); if (parsedSortOrder.HasValue) { var propertyName = BoxXDataReader.GetPropertyNameFromColumnName(sortColumn); if (propertyName.HasValue) { query.SortWith(propertyName.Value, parsedSortOrder.Value); } } if (pageParam.HasValue) { query.PagingWith(pageParam.Value, DataNumPerPage); } foreach (var propertyName in dataReader.SchemaPropertyNames) { query.FilterWith(propertyName.ValueLikes(searchParam)); } dataReader.GetData(dataCollection, query); return(dataCollection.Items.Cast <InventoryItem>().AsQueryable()); }
public IQueryable <InventoryItem> GetAllCarInventory() { BoxXDataReader dataReader = BoxXDataReader.Instance; IInventoryCollection dataCollection = ModelFactory.CreateInventoryCollection(dataReader.SchemaPropertyNames); IInventoryQuery query = QueryFactory.CreateQuery(); dataReader.GetData(dataCollection, query); return(dataCollection.Items.Cast <InventoryItem>().AsQueryable()); }