Beispiel #1
0
        private async Task Handle(HistoryMessage historyMessage)
        {
            await InsertIntoDatabase(historyMessage);

            // Counter event received
            PrometheusMetrics.EventsReceived.WithLabels(historyMessage.Event).Inc();
        }
 public void AddHistoryMessgae(Message message)
 {
     lock (_lock)
     {
         PendingMessage.Remove(PendingMessage.Single(a => a.Id == message.Id));
         HistoryMessage.Add(message);
     }
 }
Beispiel #3
0
        public static HistoryMessage MapHistoryMessage(long gameId, string message)
        {
            var historyMessage = new HistoryMessage();

            historyMessage.GameId  = gameId;
            historyMessage.Message = message;
            return(historyMessage);
        }
Beispiel #4
0
        public void SendMessage(HistoryMessage historyMessage)
        {
            var message = JsonConvert.SerializeObject(historyMessage);
            var body    = Encoding.UTF8.GetBytes(message);

            _channel.BasicPublish(_rabbitMqOptions.ExchangeName, _rabbitMqOptions.RoutingKey, null, body);
            _logger.LogDebug("Sent message to ");
        }
Beispiel #5
0
        public async Task AddMessagesForCreateGame(List <GamePlayer> gamePlayers)
        {
            var historyMessages = new List <HistoryMessage>();

            foreach (GamePlayer gamePlayer in gamePlayers)
            {
                string         playerType     = gamePlayer.Player.Type.ToString();
                string         message        = $"{playerType}(Id={gamePlayer.Player.Id}, Name={gamePlayer.Player.Name}) is added to game";
                HistoryMessage historyMessage = CustomMapper.MapHistoryMessage(gamePlayer.GameId, message);
                historyMessages.Add(historyMessage);
            }

            await _historyMessageRepository.CreateMany(historyMessages);
        }
Beispiel #6
0
 public List <Marker> GetHistory([FromBody] HistoryMessage message)
 {
     if (message == null)
     {
         return(null);
     }
     if (message.From > message.To)
     {
         return(null);
     }
     return(MainContext.Instance.Marker.GetBy(x => x.Timestamp >= message.From &&
                                              x.Timestamp <= message.To &&
                                              x.UserId == message.UserId)?.ToList());
 }
Beispiel #7
0
        public async Task AddMessagesForRound(List <GamePlayer> gamePlayers, string roundResult, long gameId)
        {
            var historyMessages = new List <HistoryMessage>();

            List <HistoryMessage> cardHistoryMessages = CreateMessagesForAddCards(gamePlayers);

            historyMessages.AddRange(cardHistoryMessages);

            string         message        = $"RoundResult: {roundResult}";
            HistoryMessage historyMessage = CustomMapper.MapHistoryMessage(gameId, message);

            historyMessages.Add(historyMessage);

            await _historyMessageRepository.CreateMany(historyMessages);
        }
Beispiel #8
0
        public HistoryMessage GetBotResponse(TextLine userMessage, IEnumerable <HistoryMessage> messages, HistoryMessage lastMessage)
        {
            var lastMessages = lastMessage;

            if (lastMessages != null)
            {
                if (!lastMessages.UserResponsed)
                {
                    lastMessages.SetUserResponse(userMessage);
                }
            }

            var reaction       = this.GetRoboChatReaction(userMessage, messages);
            var currentMessage = new HistoryMessage(reaction, null);

            return(currentMessage);
        }
Beispiel #9
0
 private async Task InsertIntoDatabase(HistoryMessage historyMessage)
 {
     using (var scope = _serviceProvider.CreateScope())
         using (var context = scope.ServiceProvider.GetRequiredService <HistoryContext>())
         {
             var eventObj = await context.Events.FirstOrDefaultAsync(x => x.Title == historyMessage.Event) ?? new Event
             {
                 Title = historyMessage.Event
             };
             var history = new History
             {
                 Event = eventObj, EventMessage = historyMessage.EventMessage, User = historyMessage.User, Timestamp = historyMessage.Timestamp
             };
             context.TaxHistories.Add(history);
             await context.SaveChangesAsync();
         }
 }
Beispiel #10
0
        private List <HistoryMessage> CreateMessagesForAddCardsPerPlayer(GamePlayer gamePlayer)
        {
            var historyMessages = new List <HistoryMessage>();

            foreach (PlayerCard playerCard in gamePlayer.PlayerCards)
            {
                string playerType = gamePlayer.Player.Type.ToString();
                string cardName   = playerCard.Card.ToString();
                string message    = $@"Card(Id={playerCard.Card.Id}, Value={playerCard.Card.Worth}, Name={cardName}) is added to 
                             {playerType}(Id={gamePlayer.Player.Id}, Name={gamePlayer.Player.Name})";

                HistoryMessage historyMessage = CustomMapper.MapHistoryMessage(gamePlayer.GameId, message);
                historyMessages.Add(historyMessage);
            }

            return(historyMessages);
        }
Beispiel #11
0
        public async Task AddHistoryToRepositoryCallsSaveAsync()
        {
            var entityList            = new string[] { "entity" };
            var user                  = new User("nom", "mail", entityList, "user");
            var technology            = new Technology("C#", "c#", "Languages and Frameworks", "new desc", "");
            var mockHistoryRepository = new Mock <IHistoryRepository>();
            var userService           = new Mock <IUserService>();
            var historyMessage        = new HistoryMessage()
            {
                Id = "id", Data = JsonConvert.SerializeObject(technology), Type = "technology", Author = ""
            };

            userService.Setup(m => m.GetById(It.IsAny <string>())).ReturnsAsync(user);
            mockHistoryRepository.Setup(m => m.FindByElementIdAsync(It.IsAny <string>(), It.IsAny <string>(), null, null))
            .ReturnsAsync(new List <RadarTechno.History.History>());
            HistoryService historyService = new HistoryService(null);
            await historyService.AddHistoryToRepository(historyMessage, mockHistoryRepository.Object, userService.Object);

            mockHistoryRepository.Verify(m => m.SaveAsync(It.IsAny <RadarTechno.History.History>()));
        }
Beispiel #12
0
 public void AddBotMessage(HistoryMessage message)
 {
     CurrentSessionMessagesHistory.Add(message);
 }