Commerce 11 first look
- Performance improvements for websites with a large number of promotions/campaigns while loading order totals and redemption numbers.
- Price caching is not affected anymore by disabling CatalogCache configuration.
- Simplified price selection if developers want to change the way prices with minimum amounts are returned without implementing the entire IPriceService interface.
- Better loading of large of promotions/campaigns in the Marketing UI.
- ProcessPayment Method of IPayment Plug In is returning PaymentProcessingResult with properties IsSuccessful, Message, and RedirectUrl.
- ApplicationId has not required anymore in API. IApplicationContext will return only properties HasContentModelTypes(Indicates whether the current application has the IContent model types for catalog content available) and DisableVersionSync(Indicates whether the version sync is disabled.)
- Merchandisers can sort items within a category in Catalog UI.
When in Sort Mode,
-Regular toolbar buttons will be disabled and cut/copy/paste option will disappear.
-You cannot sort the View products view by column headers.
-Sorting is for products only
-Once you enable Sort mode, it remains enabled in other categories until you disable it. - As we expect, all these fields are now based on Discounted Price rather Extened Price
IOrderGroupCalculator.GetSubTotal
DefaultOrderGroupCalculator.GetSubTotal
DefaultOrderGroupCalculator.CalculateSubTotal
IOrderFormCalculator.GetSubTotal
DefaultOrderFormCalculator.GetSubTotal
DefaultOrderFormCalculator.CalculateSubTotal
IShippingCalculator.GetShippingItemsTotal
DefaultShippingCalculator.GetShippingItemsTotal
DefaultShippingCalculator.CalculateShippingItemsTotal
Related Topic:
IPriceOptimizer is a new interface that allows you to control the price optimization, this can be implemented instead of IPriceService.
namespace Mediachase.Commerce.PricingA list of optimized prices. OptimizePrices(IEnumerable prices);
{
///
/// Optimizes prices on certain criterias.
///
public interface IPriceOptimizer
{
///
/// Optimizes a collection of prices, remove duplicated and unwanted prices.
///
/// The prices to optimized
///
IEnumerable
}
}
public class HighestPriceOptimizer : IPriceOptimizer OptimizePrices(IEnumerable prices)
{
public IEnumerable
{
return prices.GroupBy(p => new { p.CatalogKey, p.MinQuantity, p.MarketId, p.ValidFrom, p.CustomerPricing, p.UnitPrice.Currency })
.Select(g => g.OrderByDescending(c => c.UnitPrice.Amount).First()).Select(p => new OptimizedPriceValue(p, null));
}
}
Reference: Price optimization