Beispiel #1
0
        public IActionResult Cadastrar()
        {
            Livro l = new Livro();

            if (TempData["Livro"] != null)
            {
                LivroDto dto       = new LivroDto();
                string   resultado = TempData["Livro"].ToString();
                // Newtonsoft.Json
                dto = JsonConvert.
                      DeserializeObject <LivroDto>(resultado);

                try
                {
                    l.Nome           = dto.items[0].volumeInfo.title;
                    l.Autor          = dto.items[0].volumeInfo.authors[0];
                    l.Prefacio       = dto.items[0].volumeInfo.description;
                    l.Categoria      = dto.items[0].volumeInfo.categories[0];
                    l.DataPublicacao = Convert.ToDateTime(dto.items[0].volumeInfo.publishedDate);
                    l.LinkImagem     = dto.items[0].volumeInfo.imageLinks.smallThumbnail;
                } catch (Exception e)
                {
                    View(l);
                }
            }

            return(View(l));
        }
Beispiel #2
0
        public async Task <LivroDto> CreateLivroAsync(LivroDto livro)
        {
            var livroDB     = LivroMapper.ToDb(livro);
            var livroCriado = await _livroRepository.CreateLivroAsync(livroDB);

            return(LivroMapper.ToDto(livroCriado));
        }
Beispiel #3
0
        public void Update(int id, LivroDto livro)
        {
            var updateQuery = @"UPDATE dbo.Livro SET (Titulo, DataPublicacao, Paginas, IDAutor, IDEditora, Descricao, Sinopse, Capa, IDGenero) = (@IDLivro, @Titulo, @DataPublicacao, @Paginas, @IDAutor, @IDEditora, @Descricao, @Sinopse, @Capa, @IDGenero) WHERE IDLivro = @IDLivro";

            using (var cnn = _masterConnectionFactory.Create())
            {
                try
                {
                    var parameter = new DynamicParameters();
                    //parameter.Add("Nome", autor.Nome.ToString(), DbType.String);
                    var result = cnn.Execute(updateQuery, new
                    {
                        IDLivro        = id,
                        Titulo         = livro.Titulo.ToString(),
                        DataPublicacao = DateTime.Now,
                        Paginas        = livro.Paginas,
                        IDAutor        = livro.IDAutor,
                        IDEditora      = livro.IDEditora,
                        Descricao      = livro.Descricao.ToString(),
                        Sinopse        = livro.Sinopse.ToString(),
                        Capa           = livro.Capa.ToString(),
                        IDGenero       = livro.IDGenero
                    });
                }
                catch (Exception ex)
                {
                    throw new NotImplementedException();
                }
            }
        }
 public LivroDtoBuilder(string nome, int quantidade)
 {
     livro = new LivroDto {
         Nome       = nome,
         Quantidade = quantidade
     };
 }
Beispiel #5
0
        public async Task Armazenar(LivroDto dto)
        {
            _validadorDelivro.Validar(dto);
            var livro = Novolivro(dto);

            if (_notify.IsValid())
            {
                if (dto.Id.Value > Constantes.Zero)
                {
                    livro = await _livroRepositorio.ObterPorIdAsync(dto.Id.Value);

                    _alteradorDeLivro.Alterar(livro, dto);
                }

                if (livro.Validar() && livro.Id == Constantes.Zero)
                {
                    var livroExistente = await _livroRepositorio.ObterPorTitulo(livro.Titulo);

                    _validadorDelivro.ValidarSeLivroExiste(livroExistente);

                    if (_notify.IsValid())
                    {
                        await _livroRepositorio.AdicionarAsync(livro);
                    }
                }
                else
                {
                    _notify.NewNotification(livro.ValidationResult);
                }
            }
        }
Beispiel #6
0
        public async Task <ActionResult> Create([FromBody] LivroDto item)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogWarning(ModelState.ToString());
                return(BadRequest(ModelState));
            }

            try
            {
                var result = await _service.Create(item);

                if (result != null)
                {
                    _logger.LogInformation("Livro Criado");
                    return(Created(new Uri(Url.Link("GetLivroId", new { id = result.Id })), result));
                }
                else
                {
                    _logger.LogWarning("Livro já Existe");
                    return(BadRequest("Livro já Existe"));
                }
            }
            catch (ArgumentException e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
Beispiel #7
0
        public async Task <ActionResult> Update([FromBody] LivroDto item)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogWarning(ModelState.ToString());
                return(BadRequest(ModelState));
            }

            try
            {
                var result = await _service.Update(item);

                if (result != null)
                {
                    return(Ok(result));
                }
                else
                {
                    _logger.LogInformation("Livro não foi atualizado");
                    return(BadRequest());
                }
            }
            catch (ArgumentException e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
Beispiel #8
0
 public void Alterar(Livro livro, LivroDto dto)
 {
     livro.AlterarAnoDePublicao(dto.AnoDePublicacao);
     livro.AlterarAutorId(dto.AutorId);
     livro.AlterarEdicao(dto.Edicao);
     livro.AlterarTitulo(dto.Titulo);
 }
Beispiel #9
0
        public void Insert(LivroDto livro)
        {
            var insertQuery = @"INSERT INTO dbo.Livro(Titulo, DataPublicacao, Paginas, IDAutor, IDEditora, Descricao, Sinopse, Capa, IDGenero) VALUES (@IDLivro, @Titulo, @DataPublicacao, @Paginas, @IDAutor, @IDEditora, @Descricao, @Sinopse, @Capa, @IDGenero)";

            using (var cnn = _masterConnectionFactory.Create())
            {
                try
                {
                    var livros = cnn.Execute(insertQuery, new
                    {
                        Titulo         = livro.Autor.ToString(),
                        DataPublicacao = DateTime.Now,
                        Paginas        = livro.Paginas,
                        IDAutor        = livro.IDAutor,
                        IDEditora      = livro.IDEditora,
                        Descricao      = livro.Descricao.ToString(),
                        Sinopse        = livro.Sinopse.ToString(),
                        Capa           = livro.Capa.ToString(),
                        IDGenero       = livro.IDGenero
                    });
                }
                catch
                {
                    throw new NotImplementedException();
                }
            }
        }
        public async Task <ActionResult> CadastroAsync([FromBody] LivroDto livroPost)
        {
            var livro = mapper.Map <Livro>(livroPost);

            await livroService.CadastraAsync(livro);

            return(Ok());
        }
        public async Task <IActionResult> CriarAsync([FromBody] LivroDto dto)
        {
            var aggregateId = Guid.NewGuid();

            await _repository.AdicionarAsync(new Livro { AggregateId = aggregateId, Titulo = dto.Titulo });

            return(Ok(aggregateId));
        }
Beispiel #12
0
 //OBTEM OS LIVROS DE ACORDO COM AS REGRAS DE NEGOCIO
 //CHAMA A FUNÇÃO DE ACESSO DE DADOS, LIVROSDAO-AtualizarLivro
 public void AtualizarLivro(string idLivro, LivroDto livroNew)
 {
     if ((idLivro != null) && (livroNew != null))
     {
         _livroDao.AtualizarLivro(idLivro, livroNew);
     }
     this.Teste = "Falha na execucao do metodo";
 }
Beispiel #13
0
 //OBTEM OS LIVROS DE ACORDO COM AS REGRAS DE NEGOCIO
 //CHAMA A FUNÇÃO DE ACESSO DE DADOS, LIVROSDAO-InserirLivro
 public void InserirLivro(LivroDto livro)
 {
     if ((livro != null) && (livro.NomeLivro != null))
     {
         _livroDao.InserirLivro(livro);
     }
     this.Teste = "Falha na execucao do metodo";
 }
        public async Task <IActionResult> AlterarAsync(Guid aggregateId, [FromBody] LivroDto dto)
        {
            await _livroService.AlterarAsync(aggregateId, dto.Titulo, dto.Sinopse, dto.Paginas, dto.Capa, dto.AutorId, dto.GeneroId);

            await UnitOfWork.CommitAsyc();

            return(Ok(aggregateId));
        }
Beispiel #15
0
        public async Task <LivroDto> Update(LivroDto categoria)
        {
            var entidade = _mapper.Map <Livro>(categoria);

            entidade.Ativo = true;
            var result = await _unitOfWorky.Repository.UpdateAsync(entidade);

            return(_mapper.Map <LivroDto>(result));
        }
        public LivroTestes()
        {
            LivroObjectDto = NovoLivro();

            for (int i = 0; i < 10; i++)
            {
                ListLivroDto.Add(NovoLivro());
            }
        }
Beispiel #17
0
        private Livro Novolivro(LivroDto dto)
        {
            var livro = new Livro(dto.Titulo, dto.AnoDePublicacao, dto.Edicao, dto.AutorId);

            if (dto.Autor != null)
            {
                livro.AlterarAutor(NovoAutor(dto.Autor));
            }
            return(livro);
        }
        public static int InserirNovoItem(LivroDto novoLivroDto)
        {
            var novoLivro = new Livro
            {
                EditoraId = novoLivroDto.EditoraId,
                Titulo    = novoLivroDto.Titulo
            };

            return(RepositorioBase.InserirNovoItem <Livro>(Livros, novoLivro));
        }
 public void Validar(LivroDto dto)
 {
     if (dto == null)
     {
         _notify.NewNotification(Resources.LivroEntidade, Resources.LivroNulo);
     }
     else if (dto.Autor == null && dto.AutorId < Constantes.Um)
     {
         _notify.NewNotification(Resources.LivroEntidade, Resources.LivroComAutorNulo);
     }
 }
Beispiel #20
0
 public void Post(LivroDto livro)
 {
     _conexao.ExecutarProcedure("BLTC_InsertLivros");
     _conexao.AddParametro("@NomeLivro", livro.nomeLivro);
     _conexao.AddParametro("@ISBN", livro.ISBN);
     _conexao.AddParametro("@IDAutor", livro.idAutor);
     _conexao.AddParametro("@DataPub", livro.dataPubLivro);
     _conexao.AddParametro("@PrecoLivro", livro.precoLivro);
     _conexao.AddParametro("@IDEditora", livro.idEditora);
     _conexao.ExecutarSemRetorno();
 }
Beispiel #21
0
 public static Livro ToDb(LivroDto livroDto)
 {
     return(new Livro()
     {
         Id = livroDto.Id,
         Titulo = livroDto.Titulo,
         Descricao = livroDto.Descricao,
         Editora = livroDto.Editora,
         QuantidadePaginas = livroDto.QuantidadePaginas
     });
 }
Beispiel #22
0
 public IActionResult AtualizarLivro(string idLivro, LivroDto livroNew)
 {
     try
     {
         _livroBll.AtualizarLivro(idLivro, livroNew);
         return(Ok());
     }
     catch (System.Exception ex)
     {
         return(BadRequest(ex));
     }
 }
Beispiel #23
0
 public ActionResult <Livro> InserirLivro(LivroDto livro)
 {
     try
     {
         _livroBll.InserirLivro(livro);
         return(Ok());
     }
     catch (System.Exception ex)
     {
         return(BadRequest(ex));
     }
 }
Beispiel #24
0
 public void Put(LivroDto livro)
 {
     _conexao.ExecutarProcedure("BLTC_AlteraLivro");
     _conexao.AddParametro("@ID", livro.idLivro);
     _conexao.AddParametro("@NovoNome", livro.nomeLivro);
     _conexao.AddParametro("@NovoISBN", livro.ISBN);
     _conexao.AddParametro("@NovoIdAutor", livro.idAutor);
     _conexao.AddParametro("@NovaData", livro.dataPubLivro);
     _conexao.AddParametro("@NovoPreco", livro.precoLivro);
     _conexao.AddParametro("@NovoIdEditora", livro.idEditora);
     _conexao.ExecutarSemRetorno();
 }
Beispiel #25
0
        public async Task <IActionResult> AdicionarLivro([FromBody] LivroDto dto)
        {
            //_logger.LogInformation(1002, "Adicionar Livro Controller");
            await _armazenadorDeLivro.Armazenar(dto);

            if (!OperacaoValida())
            {
                return(BadRequestResponse());
            }

            return(Ok(true));
        }
Beispiel #26
0
        public async Task <IActionResult> ObterPorId(int id)
        {
            try
            {
                LivroDto livroDto = await _aplicacaoServicoLivro.ObterPorId(id);

                return(Ok(livroDto));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Erro na requisição, favor entre em contato comigo mesmo..."));
            }
        }
Beispiel #27
0
        public async Task <IActionResult> Get(int id)
        {
            try
            {
                var livro = await _livroRepositorio.ObterPorId(id);

                return(Ok(LivroDto.ConverterParaDto(livro)));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, Resources.MSG_Status500));
            }
        }
Beispiel #28
0
        public async Task <IActionResult> Get()
        {
            try
            {
                var resultados = await _livroRepositorio.ObterTodosOrdenadoPorNome();

                return(Ok(resultados.Select(x => LivroDto.ConverterParaDto(x))));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, Resources.MSG_Status500));
            }
        }
Beispiel #29
0
        public IHttpActionResult Post(LivroDto livro)
        {
            if (
                string.IsNullOrEmpty(livro.nomeLivro) || string.IsNullOrEmpty(livro.ISBN) ||
                livro.precoLivro.Equals(null) || livro.dataPubLivro.Equals(null) || livro.idAutor.Equals(null) ||
                livro.idEditora.Equals(null))
            {
                return(BadRequest("Informe os dados do livro!"));
            }

            _livroService.Post(livro);
            return(Ok());
        }
        public async Task E_Possivel_Invocar_a_Controller_Create()
        {
            var serviceMock   = new Mock <ILivroServices>();
            var serviceLogger = new Mock <ILogger <LivroController> >();
            var livro         = NovoLivro();

            serviceMock.Setup(m => m.Create(It.IsAny <LivroDto>())).ReturnsAsync(
                new LivroDto
            {
                Ativo          = livro.Ativo,
                Autor          = livro.Autor,
                Categoria      = livro.Categoria,
                DataLancamento = livro.DataLancamento,
                Emissora       = livro.Emissora,
                Quantidade     = livro.Quantidade,
                Titulo         = livro.Titulo,
                Valor          = livro.Valor
            }
                );


            _controller = new LivroController(serviceMock.Object, serviceLogger.Object);

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var livroDto = new LivroDto
            {
                Ativo          = livro.Ativo,
                Autor          = livro.Autor,
                Categoria      = livro.Categoria,
                DataLancamento = livro.DataLancamento,
                Emissora       = livro.Emissora,
                Quantidade     = livro.Quantidade,
                Titulo         = livro.Titulo,
                Valor          = livro.Valor
            };

            var result = await _controller.Create(livroDto);

            Assert.True(result is CreatedResult);

            var resultValue = ((CreatedResult)result).Value as LivroDto;

            Assert.NotNull(resultValue);
            Assert.Equal(livroDto.Titulo, resultValue.Titulo);
            Assert.Equal(livroDto.Autor, resultValue.Autor);
        }