2010-06-24 11 views

Répondre

0

Pour que vous puissiez simplement lancer une recherche de produit en utilisant le champ LastModified pour filtrer les produits récemment créés par date.

Vous devrez définir les catalogues que vous souhaitez rechercher, puisque vous avez dit que vous devez rechercher dans tous les catalogues. Je crois que l'extrait de code ci-dessous est ce dont vous avez besoin. N'oubliez pas que vous aurez besoin d'une recherche en texte intégral pour obtenir les résultats de la recherche.

var queryBuilder = 
     new CommerceQuery<Product, CommerceCatalogFullTextSearchBuilder>(); 

queryBuilder.SearchCriteria.FullTextSearchType = CommerceFullTextSearchType.FreeText; 
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName1"); 
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName2"); 
queryBuilder.SearchCriteria.Catalogs.Add("MyCatalogName3"); 
queryBuilder.SearchCriteria.WhereClause = "LastModified > '2010-10-01'"; 

CommerceQueryOperationResponse response = 
    (CommerceQueryOperationResponse)new OperationServiceAgent() 
     .ProcessRequest(requestContext, queryBuilder.ToRequest()) 
     .OperationResponses[0]; 

List<Product> products = new List<Product>(); 
if (response.CommerceEntities != null && response.CommerceEntities.Count > 0) 
{ 
    foreach(var p in response.CommerceEntities) 
    { 
     products.Add((Product)p); 
    } 
} 

return products;