Exemplo n.º 1
0
        public async Task <ActionResult> AddGame([Bind] Game game, HttpPostedFileBase gameImage, HttpPostedFileBase fonImage)
        {
            if (ModelState.IsValid)
            {
                game.GameImage = gameImage?.ToBase64();
                game.BackImage = fonImage?.ToBase64();

                if (!string.IsNullOrEmpty(game.PreviewLink))
                {
                    game.PreviewLink = game.PreviewLink.PreviewLink();
                }

                await _repository.AddGameAsync(game);

                TempData["message"] = $"Game {game.Name} was added";

                return(RedirectToAction("Index"));
            }

            GameEditViewModel model = new GameEditViewModel
            {
                Game       = game,
                Categories = Categories,
                Publishers = Publishers
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateGameAsync([FromQuery] uint player1Id, [FromQuery] uint player2Id)
        {
            if (player1Id == 0 || player2Id == 0 || player1Id == player2Id)
            {
                return(BadRequest());
            }

            var isGameStarted = await _gameRepository.IsThereStartedGame(player1Id, player2Id);

            if (isGameStarted)
            {
                return(StatusCode((int)HttpStatusCode.Conflict));
            }

            var game = new Game {
                Id = Guid.NewGuid().ToString(), Player1Id = player1Id, Player2Id = player2Id
            };
            await _gameRepository.AddGameAsync(game);

            var response = new GameCreated {
                GameId = game.Id
            };

            return(Ok(response));
        }
Exemplo n.º 3
0
        public async Task <ActionResult <GameDto> > CreateGame([FromBody] GameCreateDto game)
        {
            var gameEntity = mapper.Map <Game>(game);
            await gameRepository.AddGameAsync(gameEntity);

            if (!await gameRepository.SaveAsync())
            {
                throw new Exception($"Creating game {game.Title} failed on save");
            }

            var gameDto = mapper.Map <GameDto>(gameEntity);

            return(CreatedAtRoute("GetGame",
                                  new { gameEntity.Id }, gameDto));
        }
Exemplo n.º 4
0
        private async Task CheckUpdatesGames(IEnumerable <Game> games, int channelId)
        {
            var dbnewsItems = await _gameRepository.GetAllGameAsync().ConfigureAwait(false);

            foreach (var gameItem in games)
            {
                var dbItem = dbnewsItems.FirstOrDefault(dbNews => dbNews.Link == gameItem.Link);
                if (ReferenceEquals(dbItem, null))
                {
                    var itemForAdd = Mapper.Map <DbGame>(gameItem);
                    itemForAdd.ChannelId = channelId;
                    var addedItem = await _gameRepository.AddGameAsync(itemForAdd).ConfigureAwait(false);
                }
            }
        }
Exemplo n.º 5
0
        async Task <GameModel> IGameService.CreateGameAsync(GameCreateModel game, CancellationToken cancellationToken)
        {
            await _gameValidator.ValidateNewGameAsync(game, cancellationToken : cancellationToken);

            var newGameCreate = _gameCreateMapper.Map(game);

            var newGame = await _gameRepository.AddGameAsync(newGameCreate, cancellationToken : cancellationToken);

            if (game.Users != null)
            {
                foreach (var user in game.Users)
                {
                    await AddUserToGameInternalAsync(newGame.Id, user.Id, game.DeckId, cancellationToken : cancellationToken);
                }
            }

            return(_gameMapper.Map(newGame));
        }
Exemplo n.º 6
0
        public async Task <int> AddGameAsync(GameDto game)
        {
            var gameEntity = game.ToEntity();

            return(await _gameRepository.AddGameAsync(gameEntity));
        }