public void Work(StockController stockController, TimeSpan workDay) { var random = new Random(this.Name.GetHashCode()); var start = DateTime.Now; while (DateTime.Now - start < workDay) { Thread.Sleep(random.Next(100)); var buy = (random.Next(6) == 0); var itemName = Program.AllShirtNames[random.Next(Program.AllShirtNames.Count)]; if (buy) { var quantity = random.Next(9) + 1; stockController.BuyStock(this, itemName, quantity); DisplayPurchase(itemName, quantity); } else { var success = stockController.TrySellItem(this, itemName); DisplaySaleAttempt(success, itemName); } } Console.WriteLine("SalesPerson {0} signing off", this.Name); }