public ExternalOrder(ExternalOrder externalOrder) : base(externalOrder) { this.Company = externalOrder.Company; }
static void Main(string[] args) { try { Order order1 = new Order(); Order order2 = new Order(order1); Order order3 = new Order(); order1.Print(); order2.Print(); order3.Print(); ExternalOrder extOrder = new ExternalOrder("ext", DateTime.Today, "TestCompany"); extOrder.Print(); ((Order)extOrder).Print(); //Test discount behaviour Order class. IPricing orderPricing = new Order(); orderPricing.Price = 200; orderPricing.Discount = 50; Console.WriteLine(orderPricing.Price); //Test discount behaviour ExternalOrder class. IPricing extOrderPricing = new ExternalOrder(); extOrderPricing.Price = 200; extOrderPricing.Discount = 50; Console.WriteLine(extOrderPricing.Price); order1.ItemAdded += PrintItems; order2.ItemAdded += PrintItems; order1.AddItem(new OrderItem("Computer")); order1.AddItem(new OrderItem("Keyboard")); order1.Print(); order1.Price = 25; order2.Price = 30; order2.AddItem(new OrderItem("Car")); var sumOrder = order1 + order2; sumOrder.Print(); Console.WriteLine("The order items of the sumOrder are: "); for (int i = 0; i < sumOrder.NoItems; i++) { Console.WriteLine(sumOrder[i].Name); } } catch (NoNameException e) { Console.WriteLine(e); throw; } Console.ReadLine(); }