예제 #1
0
        public ResponseViewModel <bool> Add(AcompanhamentoPartidaModel pontosPartida)
        {
            var response = new ResponseViewModel <bool>()
            {
                Success = false, Content = false
            };

            try
            {
                //Valida se a data foi enviada
                if (pontosPartida.DataPartida == default(DateTime))
                {
                    response.Errors.Add("A data da partida não pode ser vazia");
                }

                //Caso não tenha nenhum erro, adiciona a partida ao banco
                if (response.Errors?.Count == 0)
                {
                    response.Content = _acompanhamentoRepository.Add(pontosPartida);
                    response.Success = true;
                }
            }
            catch (Exception e)
            {
                response.Content = false;
                response.Errors.Add(e.Message);
            }
            return(response);
        }
예제 #2
0
 public ActionResult AdicionarPontos([FromBody] AcompanhamentoPartidaModel pontos)
 {
     return(new ContentResult()
     {
         Content = JsonConvert.SerializeObject(_acompanhamentoService.Add(pontos))
     });
 }
예제 #3
0
        public void TesteAddSucesso()
        {
            //Arrange
            AcompanhamentoPartidaModel partida = new AcompanhamentoPartidaModel()
            {
                DataPartida      = DateTime.Now,
                QuantidadePontos = 10
            };

            _acompanhamentoRepositoryMock.Setup(x => x.Add(partida)).Returns(true);

            //Act
            var response = _acompanhamentoService.Add(partida);

            //Assert
            Assert.IsTrue(response.Success && response.Content);
            Assert.IsTrue(response.Errors.Count == 0);
        }
예제 #4
0
        public void TesteAddException()
        {
            //Arrange
            AcompanhamentoPartidaModel partida = new AcompanhamentoPartidaModel()
            {
                DataPartida      = DateTime.Now,
                QuantidadePontos = 10
            };

            _acompanhamentoRepositoryMock.Setup(x => x.Add(partida)).Throws(new Exception("Unhandled database exception"));

            //Act
            var response = _acompanhamentoService.Add(partida);

            //Assert
            Assert.IsFalse(response.Success && response.Content);
            Assert.IsTrue(response.Errors.Count == 1);
            Assert.IsTrue(response.Errors.First().Equals("Unhandled database exception"));
        }
예제 #5
0
        public void TesteAddComErroDeDataInvalida()
        {
            //Arrange
            AcompanhamentoPartidaModel partida = new AcompanhamentoPartidaModel()
            {
                DataPartida      = default(DateTime),
                QuantidadePontos = 10
            };

            _acompanhamentoRepositoryMock.Setup(x => x.Add(partida)).Returns(true);

            //Act
            var response = _acompanhamentoService.Add(partida);

            //Assert
            Assert.IsFalse(response.Success && response.Content);
            Assert.IsTrue(response.Errors.Count == 1);
            Assert.IsTrue(response.Errors.First().Equals("A data da partida não pode ser vazia"));
        }
예제 #6
0
        public bool Add(AcompanhamentoPartidaModel pontosPartida)
        {
            var query = "INSERT INTO AcompanhamentoPartida VALUES (@QuantidadePontos, @DataPartida)";

            return(_conn.Execute(query, pontosPartida) > 0);
        }