private static void ConsultantAction(CallCenter center, string name, ConsoleColor color) { Random random = new Random(); while (true) { IncommingCall call = center.Answer(name); if (call == null) { Thread.Sleep(100); continue; } Console.ForegroundColor = color; Log($"Call #{call.Id} from {call.ClientId} is answered by {call.Consultant}."); Console.ForegroundColor = ConsoleColor.Gray; Thread.Sleep(random.Next(1000, 10000)); center.End(call); Console.ForegroundColor = color; Log($"Call #{call.Id} from {call.ClientId} is ended by {call.Consultant}."); Console.ForegroundColor = ConsoleColor.Gray; Thread.Sleep(random.Next(500, 1000)); } }
public int Call(int clientId) { IncommingCall call = new IncommingCall() { Id = _count++, ClientId = clientId, CallTime = DateTime.Now }; Calls.Enqueue(call); return(this.Calls.Count); }
public void End(IncommingCall call) { call.EndTime = DateTime.Now; }