Note: Be aware that this feature is legacy and is subject to removal in future releases.
This topic describes the Catalog Data Sources features. Classes in this topic are in the Mediachase.Commerce.Catalog.DataSources namespace.
Key classes and files
- CatalogIndexSearchDataSource. Represents a catalog search data source for data-bound controls.
- CatalogItemsDataSource.cs. Represents a catalog item's data source for data-bound controls.
- CatalogSearchDataSource.cs. Represents catalog search data source for data-bound controls.
Overview
The following image shows the Catalog Data Sources API structure.

How it works
Example: creating a CatalogIndexSearchDataSource
private CatalogIndexSearchDataSource CreateCatalogIndexSearchDataSource()
{
SearchFilterHelper sfHelper = SearchFilterHelper.Current;
string keywords = Request.QueryString["search"];
SearchSort sortObject = CatalogEntrySearchCriteria.DefaultSortOrder
CatalogEntrySearchCriteria criteria = sfHelper.CreateSearchCriteria(keywords, sortObject);
int startIndex = SomeListView.StartRowIndex;
int recordsToRetrieve = pageSize;
int count = 0;
CatalogEntryResponseGroup responseGroup = new CatalogEntryResponseGroup(CatalogEntryResponseGroup.ResponseGroup.CatalogEntryInfo);
bool cacheResults = true;
TimeSpan cacheTimeout = new TimeSpan(0, 0, 30);
CatalogIndexSearchDataSource dataSource = null;
if (criteria.CatalogNames.Count != 0)
{
Entries entries = sfHelper.SearchEntries(criteria, startIndex, recordsToRetrieve, out count, responseGroup, cacheResults, cacheTimeout);
dataSource = new CatalogIndexSearchDataSource();
dataSource.TotalResults = count;
dataSource.CatalogEntries = entries;
}
return dataSource;
}
After creating the CatalogIndexSearchDataSource object, you can bind it to an ASP.NET server control that supports data binding, such as the ListView control. When done, you have access to a collection of catalog entry results.
Example: accessing a catalog entry results collection
SomeListView.DataSource = CatalogIndexSearchDataSource
CatalogIndexSearchDataSource.CatalogEntries
CatalogIndexSearchDataSource.CatalogEntries.Entry