/// <summary> /// Sorts the order applied. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="sortKey">The sort key.</param> /// <param name="sortDirection">The sort direction.</param> /// <returns>The manager response.</returns> public virtual ManagerResponse <CatalogResult, bool> SortOrderApplied([NotNull] CommerceStorefront storefront, string sortKey, CommerceConstants.SortDirection?sortDirection) { Assert.ArgumentNotNull(storefront, "storefront"); Commerce.Entities.Catalog.SortDirection connectSortDirection = Commerce.Entities.Catalog.SortDirection.Ascending; if (sortDirection.HasValue) { switch (sortDirection.Value) { case CommerceConstants.SortDirection.Asc: connectSortDirection = Commerce.Entities.Catalog.SortDirection.Ascending; break; default: connectSortDirection = Commerce.Entities.Catalog.SortDirection.Descending; break; } } var request = new ProductSortingRequest(storefront.ShopName, sortKey, connectSortDirection); var result = this.CatalogServiceProvider.ProductSorting(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <CatalogResult, bool>(result, result.Success)); }
public ManagerResponse <CatalogResult, bool> SortOrderApplied(string sortKey, SortDirection?sortDirection) { var connectSortDirection = SortDirection.Ascending; if (sortDirection.HasValue) { switch (sortDirection.Value) { case SortDirection.Ascending: connectSortDirection = SortDirection.Ascending; break; case SortDirection.Descending: connectSortDirection = SortDirection.Descending; break; default: throw new ArgumentOutOfRangeException(); } } if (StorefrontContext.Current == null) { throw new InvalidOperationException("Cannot be called without a valid storefront context."); } var request = new ProductSortingRequest(StorefrontContext.Current.ShopName, sortKey, connectSortDirection == SortDirection.Ascending ? Sitecore.Commerce.Entities.Catalog.SortDirection.Ascending : Sitecore.Commerce.Entities.Catalog.SortDirection.Descending); var result = CatalogServiceProvider.ProductSorting(request); result.WriteToSitecoreLog(); return(new ManagerResponse <CatalogResult, bool>(result, result.Success)); }