public static string GetBasketLevelPromotionName(this PromoOrder promoOrder, PromoSettings settings) { var promo = promoOrder.BasketLevelPromotion(); if (promo != null) return GetDisplayPromoDetails(settings.ShowPromotionDetailsInBasket, promo); return string.Empty; }
public static decimal OrderDiscountTotal(this BasketResponse basketResponse) { Decimal orderDiscountTotal = decimal.Zero; if (!BasketResponseIsValid(basketResponse)) return orderDiscountTotal; if (basketResponse.BasketLevelDiscountIncludesDeliveryAmount()) { var basketLevelPromo = basketResponse.BasketLevelPromotion(); if (basketLevelPromo != null) { orderDiscountTotal = basketLevelPromo.DiscountAmount; } } return orderDiscountTotal; }
public static bool BasketLevelDiscountIncludesDeliveryAmount(this BasketResponse basketResponse) { if (!BasketResponseIsValid(basketResponse)) return false; var basketLevelPromo = basketResponse.BasketLevelPromotion(); if (basketLevelPromo == null) return false; var deliveryItem = (from i in basketResponse.Items where i.IsDelivery select i).FirstOrDefault(); if (deliveryItem == null) return true; var nonDeliveryPromosAppliedToDelivery = (from p in deliveryItem.AppliedPromotions where !p.DeliveryLevelPromotion select p).ToList(); if (nonDeliveryPromosAppliedToDelivery == null) return false; return true; }
public static string BasketLevelPromotionName(this BasketResponse basketResponse) { var promo = basketResponse.BasketLevelPromotion(); if (promo != null) return promo.DisplayDetails(); return string.Empty; }