コード例 #1
0
        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);
        }
コード例 #2
0
        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));
     }
 }