static void Main(string[] args) { StockController controller = new StockController(TShirtProvider.AllShirts); TimeSpan workDay = new TimeSpan(0, 0, 0, 0, 500); Task task1 = Task.Run(() => new SalesPerson("Kim").Work(workDay, controller)); Task task2 = Task.Run(() => new SalesPerson("Sahil").Work(workDay, controller)); Task task3 = Task.Run(() => new SalesPerson("Chuck").Work(workDay, controller)); Task.WaitAll(task1, task2, task3); controller.DisplayStock(); }
public void Work(TimeSpan workDay, StockController controller) { DateTime start = DateTime.Now; while (DateTime.Now - start < workDay) { var result = ServeCustomer(controller); if (result.Status != null) { Console.WriteLine($"{Name}: {result.Status}"); } if (!result.ShirtsInStock) { break; } } }