using ChatRoomContract; using NLog; using Bogus; namespace Moderator; public class ModeratorLogic { private IChatRoomService chatRoom; public ModeratorLogic(IChatRoomService chatRoom) { this.chatRoom = chatRoom; } public void Run() { Logger log = LogManager.GetCurrentClassLogger(); var faker = new Faker("en"); var name = faker.Name.FullName(); int clientId = chatRoom.RegisterClient(name); log.Info($"Registered with client id {clientId}"); Console.Title = $"Moderator | {name} | {clientId}"; while (true) { var message = chatRoom.GetNewMessage(); if (message != null) { log.Info($"Checking message ({message.id}): {message.contents}"); Thread.Sleep(500); if (message.needsToBeCensored) { chatRoom.RejectMessage(message.id); } else { chatRoom.ApproveMessage(message.id); } } Thread.Sleep(1 * 1000); } } }