private static void GetOutstandingOrdersAndPay(Cashier cashier) { while (true) { var order = cashier.GetOutstandingOrders().FirstOrDefault(); if (order == null) { continue; } cashier.Pay(order.OrderNumber); Console.WriteLine("Order payed"); } }
private static void HandlePays(Cashier cashier) { Task.Run( () => { while (true) { Thread.Sleep(10); var unpaidOrders = cashier.GetOutstandingOrders().ToList(); foreach (var orderId in unpaidOrders) { Console.WriteLine($"paying for {orderId}"); cashier.Pay(orderId); } } }); }
public void ServeFood(Cashier leCaissier) { Console.WriteLine("C'est pas trop tôt, j'avais faim"); leCaissier.Pay(); }