public RetornoBase <int> Inserir(Editora editora) { var retorno = new RetornoBase <int>(); try { var tabEditora = TabEditora.Fabricar(editora); db.Editoras.Add(tabEditora); db.SaveChanges(); retorno.Valor = tabEditora.EditoraId; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível inserir a editora '{editora.Nome}'."; retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioEditora)}: {ex.Message}"); } return(retorno); }
public RetornoBase <bool> Alterar(Editora editora) { var retorno = new RetornoBase <bool>(); try { var tabEditora = db.Editoras.FirstOrDefault(x => x.EditoraId == editora.EditoraId); tabEditora.Nome = editora.Nome; tabEditora.Site = editora.Site; retorno.Valor = db.SaveChanges() > 0; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível alterar a editora '{editora.EditoraId}'."; retorno.Problemas.Add($"Falha ao {nameof(Alterar)} em {nameof(RepositorioEditora)}: {ex.Message}"); } return(retorno); }
public RetornoBase <bool> Alterar(Autor autor) { var retorno = new RetornoBase <bool>(); try { var tabAutor = db.Autores.FirstOrDefault(x => x.AutorId == autor.AutorId); tabAutor.Nome = autor.Nome.Nome; tabAutor.Sobrenome = autor.Nome.Sobrenome; tabAutor.Email = autor.Email.Endereco; retorno.Valor = db.SaveChanges() > 0; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível alterar o autor {autor.AutorId}."; retorno.Problemas.Add($"Falha ao {nameof(Alterar)} em {nameof(RepositorioAutor)}: {ex.Message}"); } return(retorno); }
public RetornoBase <List <AutorDTO> > Realizar(Operacao.ListaAutoresDisponiveis listaAutoresDisponiveis) { var retorno = new RetornoBase <List <AutorDTO> >(); var aoListarAutoresDisponiveis = repLivro.ListarAutoresDisponiveis(listaAutoresDisponiveis.LivroId); if (aoListarAutoresDisponiveis.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível listar os autores disponíveis."; retorno.Problemas.AddRange(aoListarAutoresDisponiveis.Problemas); } else { retorno.Valor = new List <AutorDTO>(); foreach (var autor in aoListarAutoresDisponiveis.Valor) { retorno.Valor.Add(AutorDTO.Fabricar(autor)); } } return(retorno); }
public RetornoBase <List <EditoraDTO> > Realizar(Operacao.ListaEditoras listaEditoras) { var retorno = new RetornoBase <List <EditoraDTO> >(); var aoListar = repEditora.Listar(); if (aoListar.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível listar as editoras."; retorno.Problemas.AddRange(aoListar.Problemas); } else { retorno.Valor = new List <EditoraDTO>(); foreach (var editora in aoListar.Valor) { retorno.Valor.Add(EditoraDTO.Fabricar(editora)); } } return(retorno); }
public RetornoBase <ICollection <Editora> > Listar() { var retorno = new RetornoBase <ICollection <Editora> >(); try { var editoras = new List <Editora>(); var tabEditoras = db.Editoras.ToList(); foreach (var tabEditora in tabEditoras) { editoras.Add(tabEditora.Fabricar()); } retorno.Valor = editoras; } catch (Exception ex) { retorno.Mensagem = "Não foi possível listar as editoras."; retorno.Problemas.Add($"Falha ao {nameof(Listar)} em {nameof(RepositorioEditora)}: {ex.Message}"); } return(retorno); }
public RetornoBase <bool> Realizar(AjusteEditora ajusteEditora) { var retorno = new RetornoBase <bool>(); var editora = new Editora(ajusteEditora.EditoraId, ajusteEditora.Nome, ajusteEditora.Site); if (editora.EstaEmEstadoIntegro()) { var aoAlterar = repEditora.Alterar(editora); retorno.Valor = aoAlterar.Valor; if (aoAlterar.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível alterar a editora."; retorno.Problemas.AddRange(aoAlterar.Problemas); } } else { retorno.Mensagem = "Os dados da editora não foram devidamente informados."; retorno.Problemas.AddRange(editora.Problemas); } return(retorno); }
public RetornoBase <int> Realizar(NovaEditora novaEditora) { var retorno = new RetornoBase <int>(); var editora = new Editora(0, novaEditora.Nome, novaEditora.Site); if (editora.EstaEmEstadoIntegro()) { var aoInserir = repEditora.Inserir(editora); retorno.Valor = aoInserir.Valor; if (aoInserir.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar a nova editora."; retorno.Problemas.AddRange(aoInserir.Problemas); } } else { retorno.Mensagem = "Os dados da nova editora não foram devidamente informados."; retorno.Problemas.AddRange(editora.Problemas); } return(retorno); }
public RetornoBase <Editora> Localizar(int editoraId) { var retorno = new RetornoBase <Editora>(); try { var tbEditora = db.Editoras.FirstOrDefault(x => x.EditoraId == editoraId); if (tbEditora != null) { retorno.Valor = tbEditora.Fabricar(); } else { retorno.Mensagem = $"Editora não localizada para ID {editoraId}."; } } catch (Exception ex) { retorno.Mensagem = $"Não foi possível localizar a editora {editoraId}."; retorno.Problemas.Add($"Falha ao {nameof(Localizar)} em {nameof(RepositorioEditora)}: {ex.Message}"); } return(retorno); }
public RetornoBase <ICollection <Autor> > ListarAutoresDisponiveis(int livroId) { var retorno = new RetornoBase <ICollection <Autor> >(); try { var autores = new List <Autor>(); List <TabAutor> tabAutores = null; if (livroId > 0) { tabAutores = db.Database.SqlQuery <TabAutor>($"select * from Autor where AutorId not in (select AutorId from LivroAutoria where LivroId = {livroId})").ToList(); } else { tabAutores = db.Autores.ToList(); } if (tabAutores != null) { foreach (var tabAutor in tabAutores) { autores.Add(tabAutor.Fabricar()); } } retorno.Valor = autores; } catch (Exception ex) { retorno.Mensagem = "Não foi possível listar os autores."; retorno.Problemas.Add($"Falha ao {nameof(ListarAutoresDisponiveis)} em {nameof(RepositorioLivro)}: {ex.Message}"); } return(retorno); }
public RetornoBase <Livro> Localizar(int livroId) { var retorno = new RetornoBase <Livro>(); try { var tbLivro = db.Livros.Include("Editora").Include("Autores").FirstOrDefault(x => x.LivroId == livroId); if (tbLivro != null) { retorno.Valor = tbLivro.Fabricar(); } else { retorno.Mensagem = $"Livro não localizado para ID {livroId}."; } } catch (Exception ex) { retorno.Mensagem = $"Não foi possível localizar o livro {livroId}."; retorno.Problemas.Add($"Falha ao {nameof(Localizar)} em {nameof(RepositorioLivro)}: {ex.Message}"); } return(retorno); }
public RetornoBase <int> Inserir(Livro livro) { var retorno = new RetornoBase <int>(); try { var tabLivro = new TabLivro(); tabLivro.LivroId = livro.LivroId; tabLivro.Titulo = livro.Titulo; tabLivro.Estante = livro.Estante; tabLivro.AnoPublicacao = livro.AnoPublicacao; tabLivro.Editora = db.Editoras.FirstOrDefault(x => x.EditoraId == livro.Editora.EditoraId); db.Livros.Add(tabLivro); db.SaveChanges(); if (tabLivro.LivroId > 0) { foreach (var autor in livro.Autores) { db.LivroAutoria.Add(new TabLivroAutoria { LivroId = tabLivro.LivroId, AutorId = autor.AutorId }); } db.SaveChanges(); } retorno.Valor = tabLivro.LivroId; } catch (Exception ex) { retorno.Mensagem = $"Não foi possível inseriro livro '{livro.Titulo}'."; retorno.Problemas.Add($"Falha ao {nameof(Inserir)} em {nameof(RepositorioLivro)}: {ex.Message}"); } return(retorno); }
public RetornoBase <int> Realizar(NovoLivro novoLivro) { var retorno = new RetornoBase <int>(); var editora = new Editora(novoLivro.Editora.EditoraId, novoLivro.Editora.Nome, novoLivro.Editora.Site); var autores = new List <Autor>(); foreach (var tautor in novoLivro.Autores) { autores.Add(new Autor( tautor.AutorId, new Dominio.Descritores.TNomePessoa(tautor.Nome, tautor.Sobrenome), new Dominio.Descritores.TEmail(tautor.Email) )); } var livro = new Livro(0, novoLivro.Titulo, novoLivro.Estante, novoLivro.AnoPublicacao, editora, autores); if (livro.EstaEmEstadoIntegro()) { var aoInserir = repLivro.Inserir(livro); retorno.Valor = aoInserir.Valor; if (aoInserir.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar o novo livro."; retorno.Problemas.AddRange(aoInserir.Problemas); } } else { retorno.Mensagem = "Os dados do novo livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }
public RetornoBase <int> Realizar(Operacao.NovoLivro novoLivro) { var retorno = new RetornoBase <int>(); var livro = novoLivro.Fabricar(); if (livro.EstaEmEstadoIntegro()) { var aoInserir = repLivro.Inserir(livro); retorno.Valor = aoInserir.Valor; if (aoInserir.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível registrar o novo livro."; retorno.Problemas.AddRange(aoInserir.Problemas); } } else { retorno.Mensagem = "Os dados do novo livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }
public RetornoBase <Autor> Localizar(int autorId) { var retorno = new RetornoBase <Autor>(); try { var tbAutor = db.Autores.FirstOrDefault(x => x.AutorId == autorId); if (tbAutor != null) { retorno.Valor = TabAutorParaAutor(tbAutor); } else { retorno.Mensagem = $"Autor não localizado para ID {autorId}."; } } catch (Exception ex) { retorno.Mensagem = $"Não foi possível localizar o autor {autorId}."; retorno.Problemas.Add($"Falha ao {nameof(Localizar)} em {nameof(RepositorioAutor)}: {ex.Message}"); } return(retorno); }
public RetornoBase <bool> Realizar(Operacao.AjusteLivro ajusteLivro) { var retorno = new RetornoBase <bool>(); var livro = ajusteLivro.Fabricar(); if (livro.EstaEmEstadoIntegro()) { var aoAlterar = repLivro.Alterar(livro); retorno.Valor = aoAlterar.Valor; if (aoAlterar.Problemas.Count > 0) { retorno.Mensagem = "Não foi possível ajustar o livro."; retorno.Problemas.AddRange(aoAlterar.Problemas); } } else { retorno.Mensagem = "Os dados do livro não foram devidamente informados."; retorno.Problemas.AddRange(livro.Problemas); } return(retorno); }
public RetornoEEnvio(RetornoBase retorno) { Envio = retorno.EnvioXmlString; Retorno = retorno.RetornoXmlString; }
public RetornoBase <ICollection <Livro> > ListarAcervo(string titulo, int editoraId, int autorId) { var retorno = new RetornoBase <ICollection <Livro> >(); try { List <Expression <Func <TabLivro, bool> > > expressoes = new List <Expression <Func <TabLivro, bool> > >(); if (!string.IsNullOrEmpty(titulo)) { expressoes.Add(x => x.Titulo.Contains(titulo)); } if (editoraId > 0) { expressoes.Add(x => x.EditoraId == editoraId); } if (autorId > 0) { expressoes.Add(x => x.Autores.Select(a => a.AutorId).Contains(autorId)); } List <TabLivro> tbLivros = null; if (expressoes.Count > 0) { if (expressoes.Count > 1) { var exLivro = expressoes[0].And(expressoes[1]); for (var i = 2; i < expressoes.Count; i++) { exLivro = exLivro.And(expressoes[i]); } tbLivros = db.Livros.Include("Editora").Include("Autores").Where(exLivro).ToList(); } else { tbLivros = db.Livros.Include("Editora").Include("Autores").Where(expressoes[0]).ToList(); } } else { tbLivros = db.Livros.Include("Editora").Include("Autores").ToList(); } if (tbLivros != null) { retorno.Valor = new List <Livro>(); foreach (var tbLivro in tbLivros) { retorno.Valor.Add(tbLivro.Fabricar()); } } else { retorno.Mensagem = $"Nenhum livro no acervo para os dados de entrada."; } } catch (Exception ex) { retorno.Mensagem = $"Não foi possível listar o acervo."; retorno.Problemas.Add($"Falha ao {nameof(ListarAcervo)} em {nameof(RepositorioLivro)}: {ex.Message}"); } return(retorno); }
public HttpResponseMessage ReturnSuccess() { var retornoBase = new RetornoBase <object>(); return(Request.CreateResponse(HttpStatusCode.OK, retornoBase)); }