public async Task <ActionResult <Models.Response.LivroCompleto> > ConsultarLivroId(int idlivro, int idcliente) { try { Models.TbLivro livro = await business.ConsultarLivroIdBusiness(idlivro); Models.Response.LivroCompleto response = ConversorLivro.ConversorCompleto(livro); if (livro.TbFavoritos.Count != 0 && livro.TbFavoritos.All(x => x.IdCliente == idcliente)) { response.livro.favorito = true; Models.TbFavoritos a = livro.TbFavoritos.FirstOrDefault(x => x.IdCliente == idcliente && x.IdLivro == idlivro); response.favorito = conversor.ConversorResponse(a); } else { response.livro.favorito = false; } return(response); } catch (System.Exception ex) { return(NotFound( new Models.Response.ErroResponse(404, ex.Message) )); } }
public Models.Response.LivroCompleto ConversorCompleto(Models.TbLivro tabela) { Models.Response.LivroCompleto response = new Models.Response.LivroCompleto(); EditoraConversor EditoraConvert = new EditoraConversor(); AutorConversor AutorConvert = new AutorConversor(); GeneroConversor GeneroConvert = new GeneroConversor(); EstoqueConvert EstoqueConversor = new EstoqueConvert(); response.idlivro = tabela.IdLivro; response.livro = this.Conversor(tabela); if (tabela.IdEditoraNavigation == null) { response.livro.editora = null; } else { response.livro.editora = EditoraConvert.Conversor(tabela.IdEditoraNavigation); } if (tabela.TbLivroAutor == null) { response.autores = null; } else { response.autores = tabela.TbLivroAutor.Select(x => AutorConvert.ConversorResponse(x.IdAutorNavigation)).ToList(); } if (tabela.TbLivroGenero == null) { response.generos = null; } else { response.generos = tabela.TbLivroGenero.Select(x => GeneroConvert.ParaResponseListarGenero(x.IdGeneroNavigation)).ToList(); } if (tabela.TbEstoque == null) { response.estoque_livro = null; } else { response.estoque_livro = tabela.TbEstoque.Select(x => EstoqueConversor.ConversorResponse(x)).FirstOrDefault(y => y.id >= 1); } return(response); }