Esempio n. 1
0
 private void NotifyPlayers(ICollection <TeamPlayer> players, Game game)
 {
     foreach (var player in players)
     {
         var message = $"Играем в {game.DateTime}. Ты в команде {player.TeamNumber}";
         _userInteractionService.SendMessage(message, player.Player.User);
     }
 }
Esempio n. 2
0
        private void NotifyAboutUnsuccessfulCollecting(Game game, List <BotUser> administrators)
        {
            var deadlineTime = game.DateTime.Subtract(_serviceConfiguration.GameDeadline,
                                                      _serviceConfiguration.StartDayTime,
                                                      _serviceConfiguration.EndDayTime);

            var message =
                $"Команда не набралась({game.AcceptedPlayers.Count} из {_serviceConfiguration.PlayersPerTeam * 2}). \n" +
                "Дальнейший сбор осуществляй вручную, используя команду - /addplayertogame. " +
                $"Или отмени матч командой - /cancelgame. \nВ {deadlineTime.ToString(DateTimeHelper.DateFormat)} игра отменится автоматически";

            administrators.ForEach(x => _userInteractionService.SendMessage(message, x));
        }
Esempio n. 3
0
        private void NotifyAboutSuccessfulCollecting(Game game, ICollection <TeamPlayer> distributedPlayers,
                                                     List <BotUser> administrators)
        {
            var message = $"Игра {game.DateTime.ToString(DateTimeHelper.DateFormat)}.\n";

            foreach (var team in distributedPlayers.GroupBy(x => x.TeamNumber))
            {
                message += $"\nКоманда {team.First().TeamNumber}\n";
                foreach (var x in team.Select((value, i) => new { i, value }))
                {
                    message += $"{(x.i + 1).ToString()}. {x.value.Player.User.FirstName} {x.value.Player.User.LastName}";
                }
                message += $"\n";
            }
            administrators.ForEach(x => _userInteractionService.SendMessage(message, x));
        }
Esempio n. 4
0
        private void DistributePlayersPerTeams(Game game)
        {
            var teams = GameHelper.GetTeams(game.AcceptedPlayers, _serviceConfiguration.PlayersPerTeam);

            game.DistributedPlayers = teams.firstTeam
                                      .Select(x => new TeamPlayer()
            {
                Id = Guid.NewGuid(), Player = x, TeamNumber = 1
            })
                                      .Concat(
                teams.secondTeam.Select(x => new TeamPlayer()
            {
                Id = Guid.NewGuid(), Player = x, TeamNumber = 2
            }))
                                      .ToList();
        }