public CatalogItemsDataSet GetRootProducts(string CatalogName)
{ return CommerceContext.Current.CatalogSystem.GetCatalog(CatalogName).GetRootCategory().ChildProducts.DataSet;
}
public CatalogItemsDataSet GetCategoryProducts(string CatalogName, string CategoryName)
{ return CommerceContext.Current.CatalogSystem.GetCatalog(CatalogName).GetCategory(CategoryName).ChildProducts.DataSet;
}
public CatalogItemsDataSet GetRootCategories(string CatalogName)
{ return CommerceContext.Current.CatalogSystem.GetCatalog(CatalogName).GetRootCategory().ChildCategories.DataSet;
}
public CatalogItemsDataSet GetSubCategories(string CatalogName, string CategoryName)
{ return CommerceContext.Current.CatalogSystem.GetCatalog(CatalogName).GetCategory(CategoryName).ChildCategories.DataSet;
}
public CatalogItemsDataSet SearchForProducts(string CatalogName, string SearchPhrase)
{ CatalogSearch catalogSearch = CommerceContext.Current.CatalogSystem.GetCatalogSearch();
catalogSearch.CatalogNames = CatalogName;
catalogSearch.SearchOptions.ClassTypes = CatalogClassTypes.ProductClass;
catalogSearch.FreeTextSearchPhrase = SearchPhrase;
return catalogSearch.Search();
}
As you can see, the CatalogItemsDataSet is pretty versatile and is easily bound to any ASP.NET databound control.
Technorati Tags: Commerce Server