public void MessageReceived(SMSG_Message message)
    {
        switch (message.MessageType)
        {
        case MessageType.UserMessage:
            SendMessageToChat($"[{message.GetTimestamp().ToString("hh:mm:ss")}]{message.UserName}:{message.Message}");
            break;

        default:
            SendMessageToChat($"[{message.GetTimestamp()}]DEFAULT NOT IMPLEMENTED:{message.Message}");
            break;
        }
    }
        public async static Task <Result> MessageSent(BasePacket bp, Connection c)
        {
            var messagePacket = (CMSG_Message)bp;

            var response = new SMSG_Message()
            {
                UserName = c.User.UserName, Message = messagePacket.Message, MessageType = MessageType.UserMessage
            };

            using (var context = new ApplicationContext())
            {
                var dbUser  = context.Users.SingleOrDefault(o => o.Id == c.User.UserId);
                var message = new Message {
                    Text = messagePacket.Message, User = dbUser
                };
                await context.Messages.AddAsync(message);

                await context.SaveChangesAsync();
            }

            return(new Result {
                Packet = response, IsVoidResult = false
            });
        }