public void MonitorAndLogTrades() { while (true) { try { Trade nextTransaction = _queue.Take(); _staffLogs.ProcessTrade(nextTransaction); Console.WriteLine("Processing transaction from " + nextTransaction.Person.Name); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); return; } } }
public void MonitorAndLogTrades() { while (true) { Trade nextTrade; bool done = _queue.TryDequeue(out nextTrade); if (done) { _staffLogs.ProcessTrade(nextTrade); Console.WriteLine("Processing transaction from " + nextTrade.Person.Name); } else if (_workingDayComplete) { Console.WriteLine("No more sales to log - exiting"); return; } else { Console.WriteLine("No transactions available"); Thread.Sleep(500); } } }