1
0
tinklu-paslaugos/Lab4/Moderator/ModeratorLogic.cs
2024-12-07 17:21:09 +02:00

50 lines
1.1 KiB
C#

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);
}
}
}