Esempio n. 1
0
        public ActionResult CreateGame(string userName)
        {
            try
            {
                if (String.IsNullOrWhiteSpace(userName))
                {
                    new Exception(GameMessage.ReceivedDataError);
                }

                var view = new CreateGameStartView();
                view.UserName = userName;
                return(View(view));
            }
            catch (Exception exception)
            {
                string message = exception.ToString();
                _logger.Error(message);
                return(RedirectToAction("Display", "Error", new { message = GameMessage.GameCreationError }));
            }
        }
Esempio n. 2
0
        public async Task <ActionResult> CreateGame(CreateGameStartView view)
        {
            try
            {
                if (view == null ||
                    String.IsNullOrWhiteSpace(view.UserName))
                {
                    new Exception(GameMessage.ReceivedDataError);
                }

                long gameId = await _startService.CreateGame(view);

                return(RedirectToAction("Initialize", new { gameId = gameId, userName = view.UserName, isNewGame = true }));
            }
            catch (Exception exception)
            {
                string message = exception.ToString();
                _logger.Error(message);
                return(RedirectToAction("Display", "Error", new { message = GameMessage.GameCreationError }));
            }
        }
Esempio n. 3
0
        public async Task <IHttpActionResult> CreateGame(CreateGameStartView view)
        {
            try
            {
                if (view == null ||
                    String.IsNullOrWhiteSpace(view.UserName))
                {
                    new Exception(GameMessage.ReceivedDataError);
                }

                long gameId = await _startService.CreateGame(view);

                return(Ok(gameId));
            }
            catch (Exception exception)
            {
                string message = exception.ToString();
                _logger.Error(message);
                return(BadRequest(GameMessage.GameCreationError));
            }
        }
Esempio n. 4
0
        public async Task <long> CreateGame(CreateGameStartView view)
        {
            var game = new Game();

            game.Id = await _gameRepository.Create(game);

            List <Player> players = await CreatePlayerList(view.UserName, view.AmountOfBots);

            var gamePlayers = new List <GamePlayer>();

            foreach (Player player in players)
            {
                GamePlayer gamePlayer = CustomMapper.MapGamePlayer(player, game.Id);
                gamePlayers.Add(gamePlayer);
            }

            await _gamePlayerRepository.CreateMany(gamePlayers);

            await _historyMessageManager.AddMessagesForCreateGame(gamePlayers);

            long gameId = game.Id;

            return(gameId);
        }