using System.Collections.Generic;
public static void Main()
var customer1 = new Customer("Steve");
customer1.AddOrder("123");
customer1.AddOrder("234");
customer1.AddOrder("345");
customer1.AddOrder("345");
var customer2 = new Customer("Eric");
customer2.AddOrder("100");
customer2.AddOrder("200");
customer2.AddOrder("300");
var customers = new List<Customer>() {customer1, customer2};
foreach (var customer in customers)
customer.PrintMyOrderOverview();
foreach (Order order in customer1.MyHistoricOrders)
Console.WriteLine(order.OrderNumber);
public string Name {get;private set;}
public List<Order> MyHistoricOrders
private List<Order> _myOrders = new List<Order>();
public Customer(string name)
public void AddOrder(string addedOrder)
if ((!String.IsNullOrEmpty(addedOrder)) || (ExistsOrderNumber(addedOrder, this._myOrders)))
{_myOrders.Add(new Order(addedOrder));}
private bool ExistsOrderNumber(string checkNumber, List<Order> list)
foreach (Order order in list)
if (checkNumber == order.OrderNumber)
private void PrintListOfMyOrders()
foreach (Order order in _myOrders)
Console.WriteLine(order.OrderNumber);
public void PrintMyOrderOverview()
Console.WriteLine(Name + "'s orders:");
Console.WriteLine("Customer's Order Total: {0}", _myOrders.Count);
public string OrderNumber {get;private set;}
public Order(string orderNumber)
OrderNumber = orderNumber;