Pour faire une recherche de produits avec variants dans mon catalogue nommé, « MonCatalogue »,  on procède comme suit :

CatalogContext cc = CommerceContext.Current.CatalogSystem.CatalogContext;

CatalogSearch cs = cc.GetCatalogSearch();

cs.CatalogNames = "MonCatalogue";

cs.SearchOptions.ClassTypes = CatalogClassTypes.ProductFamilyClass;

//Propriété à retourner

cs.SearchOptions.PropertiesToReturn = "ProductId, cy_list_price";

//Clause de recherche sur les categories

cs.CategoriesClause = "CategoryName = 'MaCategorie'";

//Clause de recherche sur les produits

cs.SqlWhereClause = "EtatProduit = 'Affiché'";

Si on veut trier par ordre coissant le, « ProductId » :

cs.SearchOptions.SortProperty = "ProductId";

cs.SearchOptions.SortDescending = false;

Maintenant, si on veut trier par ordre coissant le « ProductId » ensuite le prix :

cs.SearchOptions.SortProperty = "ProductId, cy_list_price";

cs.SearchOptions.SortDescending = false;

Les choses se compliquent si on veut trier le « ProductId » par ordre croissant ensuite le  prix par ordre décroissent.

Pour cela il suffit d’omettre cs.SearchOptions.SortDescending et preciser l’odre dans cs.SearchOptions.SortProperty :

cs.SearchOptions.SortProperty = "[ProductId]ASC, [cy_list_price]DESC";

N’oubliez pas de separer les propriétés et le parametres de tri par des accolades([« propriétés »]ASC).

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5