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); tabLivro.Autores = new List <TabAutor>(); foreach (var autor in livro.Autores) { tabLivro.Autores.Add(db.Autores.FirstOrDefault(x => x.AutorId == autor.AutorId)); } db.Livros.Add(tabLivro); 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); }
internal static Livro TabLivroParaLivro(TabLivro tabLivro) { var editora = RepositorioEditora.TabEditoraParaEditora(tabLivro.Editora); var autores = new List <Autor>(); foreach (var tabAutor in tabLivro.Autores) { autores.Add(RepositorioAutor.TabAutorParaAutor(tabAutor)); } return(new Livro( tabLivro.LivroId, tabLivro.Titulo, tabLivro.Estante, tabLivro.AnoPublicacao, editora, autores )); }
public int Salvar(Livro livro) { using (var db = ctx.getNewConnection()) { TabLivro cadastro = this.GetCadastro(livro.LivroId, db); if (cadastro != null) { cadastro.Titulo = livro.Titulo; var retorno = db.Update <TabLivro>(cadastro); if (retorno) { return(1); } } cadastro = new TabLivro { Titulo = livro.Titulo }; return((int)db.Insert <TabLivro>(cadastro)); } }