public static void Main(string[] args) { var modifyPrice = new ModifyPrice(); var phone = new Product("Phone", 250.50m); var laptop = new Product("Laptop", 780); Execute(phone, modifyPrice, new ProductCommand(phone, PriceAction.Increase, 100)); Execute(laptop, modifyPrice, new ProductCommand(laptop, PriceAction.Decrease, 200)); }
public static void Run() { var modifyPrice = new ModifyPrice(); var product = new Product("Phone", 500); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 100)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 50)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 25)); Console.WriteLine(product); modifyPrice.UndoActions(); Console.WriteLine(product); }
public static void Main(string[] args) { var modifyPrice = new ModifyPrice(); var product = new Product("iPhone", 500); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 100)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 50)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 25)); Console.WriteLine(product); }
public static void Main(string[] args) { var modifyPrice = new ModifyPrice(); var product = new Product("Tablet computer", 500.50m); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 100m)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 5m)); Execute(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 75m)); Console.WriteLine(product); Console.WriteLine(modifyPrice.ListCommands()); modifyPrice.UndoActions(); Console.WriteLine(product); Console.WriteLine(modifyPrice.ListCommands()); }
private static void Execute(Product product, ModifyPrice modifyPrice, ProductCommand productCommand) { modifyPrice.SetCommand(productCommand); modifyPrice.Invoke(); }