public async Task <ActionResult <string> > Post([FromBody] JogoCreate model)
        {
            var result = await _jogoService.CreateJogoAsync(model);

            if (!result.Succeeded)
            {
                return(NotFound(result.Message));
            }

            return(StatusCode(201));
        }
Exemple #2
0
        public async Task <QueryResult <string> > CreateJogoAsync(JogoCreate model)
        {
            try
            {
                var tipoJogo = await _jogoRepository.GetTipoJogoAsync(model.TipoJogoId);

                if (tipoJogo != null)
                {
                    var jogo = await _jogoRepository.ValidateGameAsync(model.Nome, model.TipoJogoId);

                    if (jogo == null)
                    {
                        var jogoDb = new Jogo
                        {
                            Nome       = model.Nome,
                            TipoJogoId = model.TipoJogoId
                        };

                        await _jogoRepository.InsertJogoAsync(jogoDb);

                        return(new QueryResult <string>
                        {
                            Succeeded = true
                        });
                    }
                    else
                    {
                        return(new QueryResult <string>
                        {
                            Succeeded = false,
                            Message = "Jogo já cadastrado!"
                        });
                    }
                }
                else
                {
                    return(new QueryResult <string>
                    {
                        Succeeded = false,
                        Message = "Tipo do Jogo não esta cadastrado!"
                    });
                }
            }
            catch (Exception)
            {
                return(new QueryResult <string>
                {
                    Succeeded = false,
                    Message = "Erro, tente novamente!"
                });
            }
        }
Exemple #3
0
        public async Task Jogo_Post_ReturnsCreatedResponse(string Nome, int TipoJogoId)
        {
            var jogo = new JogoCreate
            {
                Nome       = Nome,
                TipoJogoId = TipoJogoId
            };

            var         jsonJogo    = JsonConvert.SerializeObject(jogo);
            HttpContent httpContent = new StringContent(jsonJogo, Encoding.UTF8, "application/json");

            var response = await _testContext.Client.PostAsync("api/jogo", httpContent);

            response.EnsureSuccessStatusCode();
            response.StatusCode.Should().Be(HttpStatusCode.Created);
        }
Exemple #4
0
        public async Task Jogo_Post_ReturnsNotFoundResponse(string Nome, int TipoJogoId)
        {
            var jogo = new JogoCreate
            {
                Nome       = Nome,
                TipoJogoId = TipoJogoId
            };

            var         jsonJogo    = JsonConvert.SerializeObject(jogo);
            HttpContent httpContent = new StringContent(jsonJogo, Encoding.UTF8, "application/json");

            var response = await _testContext.Client.PostAsync("api/jogo", httpContent);

            response.StatusCode.Should().Be(HttpStatusCode.NotFound);

            var result = await response.Content.ReadAsStringAsync();

            Assert.Equal("Tipo do Jogo não esta cadastrado!", result);
        }