Exemple #1
0
        public async Task <ActionResult <Livro> > GetFiltroLivros([FromQuery] FiltroLivroViewModel model)
        {
            try
            {
                DateTime?dataPublicacao = model.Data_Publicacao != null?DateTime.ParseExact(model.Data_Publicacao, "dd/MM/yyyy", CultureInfo.InvariantCulture) : (DateTime?)null;

                var isbn = Convert.ToInt32(model.ISBN);

                var livroLista = await _livroDAO.FiltroLivro(model.ISBN, model.Autor, model.Nome, null, dataPublicacao);

                var livrosViewModel = new List <LivroViewModel>();

                foreach (var livro in livroLista)
                {
                    var data = livro.Data_Publicacao != null?livro.Data_Publicacao.Value.ToString("dd/MM/yyyy") : null;

                    var livroViewModel = new LivroViewModel
                    {
                        Id              = livro.Id,
                        ISBN            = livro.ISBN,
                        Autor           = livro.Autor,
                        Nome            = livro.Nome,
                        Preco           = livro.Preco,
                        Data_Publicacao = data,
                        Url_Imagem      = livro.Url_Imagem
                    };

                    livrosViewModel.Add(livroViewModel);
                }

                return(Ok(livrosViewModel));
            }
            catch
            {
                return(BadRequest("Erro ao recuperar a lista!"));
            }
        }