static void Main(string[] args) { var logger = new Logger(); Client client1 = new Client(100, "Peter"); Client client2 = new Client(200, "Berci"); client1.Order = new Order("CHIPS", new List <string> { "MUSTARD" }, logger); client2.Order = new Order("HOTDOG", new List <string> { "KETCHUP" }, logger); client1.Subscribe(client1.Order); client2.Subscribe(client2.Order); Dictionary <int, Client> dictOfClients = new Dictionary <int, Client>(); dictOfClients.Add(1, client1); dictOfClients.Add(2, client2); Kitchen kitchen = new Kitchen(); Waitress waitressRobot = new Waitress(kitchen, logger); //Order order1 = new Order("CHIPS", new List<string> { "MUSTARD" }); //Order order2 = new Order("HOTDOG", new List<string> { "KETCHUP" }); foreach (Client client in dictOfClients.Values) { waitressRobot.TakeOrder(client, client.Order); } //waitressRobot.TakeOrder(client1, client1.Order); //waitressRobot.TakeOrder(client2, client2.Order); while (waitressRobot.orders.Count > 0) { waitressRobot.ServeOrders(); } //kitchen.Cook(waitressRobot.orders.Dequeue()); //kitchen.Cook(waitressRobot.orders.Dequeue()); Console.ReadKey(); }
public Waitress(Kitchen kitchen, ILogger logger) { Kitchen = kitchen; orders = new Queue <Order>(); _logger = logger; }