public static decimal BuyOneGetOneDiscount(PizzaOrder order) { if (order.Pizzas.Count < 2) { return(0m); } return(order.Pizzas.Min(p => p.Price)); }
public decimal ComputePrice(PizzaOrder order) { if (order is null) { throw new ArgumentNullException("order"); } if (order.Pizzas is null) { throw new ArgumentException("Invalid Pizza List", "order", null); } decimal nonDiscounted = order.Pizzas.Sum(p => p.Price); decimal discountedValue = _discountPolicy(order); return(nonDiscounted - discountedValue); }
public static decimal FivePercentOffMorThanFiftyDollars(PizzaOrder order) { decimal nonDiscounted = order.Pizzas.Sum(p => p.Price); return(nonDiscounted >= 50 ? nonDiscounted * 0.05m : 0M); }