Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }