public async Task <Livro> BuscarLivroPorId(Guid id)
        {
            var livro = await Context.Livros.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id);

            if (livro == null)
            {
                Notifier.AdicionarErro(NomeEntidade, LivroNaoEncontrada, System.Net.HttpStatusCode.NotFound);
            }

            return(Mapper.Map <Livro>(livro));
        }
Example #2
0
        public async Task <Autor> InserirAutor(Autor autor)
        {
            try
            {
                var view = Mapper.Map <AutorView>(autor);
                view.Id = Guid.NewGuid();
                var resultado = await Context.Autores.AddAsync(view);

                await Context.SaveChangesAsync();

                return(Mapper.Map <Autor>(resultado.Entity));
            }
            catch (Exception ex)
            {
                Notifier.AdicionarErro(NomeEntidade, ex.Message, System.Net.HttpStatusCode.InternalServerError);
                return(null);
            }
        }
Example #3
0
        public async Task <Editora> AdicionarEditora(Editora editora)
        {
            try
            {
                var view = Mapper.Map <EditoraView>(editora);
                view.Id = Guid.NewGuid();
                var resultado = await Context.Editoras.AddAsync(view);

                await Context.SaveChangesAsync();

                return(Mapper.Map <Editora>(resultado.Entity));
            }
            catch (Exception e)
            {
                Notifier.AdicionarErro(NomeEntidade, e.Message, HttpStatusCode.InternalServerError);
                return(null);
            }
        }
Example #4
0
        public async Task <Editora> BuscarEditoraPorId(Guid id)
        {
            try
            {
                var editora = await Context.Editoras.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id);

                if (editora == null)
                {
                    Notifier.AdicionarErro(NomeEntidade, EditoraNaoEncontrada, HttpStatusCode.NotFound);
                }

                return(Mapper.Map <Editora>(editora));
            }
            catch (Exception e)
            {
                Notifier.AdicionarErro("editora", e.Message, HttpStatusCode.InternalServerError);
                return(null);
            }
        }
Example #5
0
        public async Task <Autor> BuscarAutorPorId(Guid id)
        {
            try
            {
                var autor = await Context.Autores.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id);

                if (autor == null)
                {
                    Notifier.AdicionarErro(NomeEntidade,
                                           AutorNaoEncontrado,
                                           System.Net.HttpStatusCode.NotFound);
                }

                return(Mapper.Map <Autor>(autor));
            }
            catch (Exception ex)
            {
                Notifier.AdicionarErro(NomeEntidade, ex.Message, System.Net.HttpStatusCode.InternalServerError);
                return(null);
            }
        }
Example #6
0
        public async Task <Editora> AtualizarEditora(Editora editora)
        {
            try
            {
                var atual = await BuscarEditoraPorId(editora.Id);

                if (atual == null)
                {
                    return(null);
                }

                var view = Mapper.Map <EditoraView>(editora);
                Context.Update(view);
                await Context.SaveChangesAsync();

                return(editora);
            }
            catch (Exception e)
            {
                Notifier.AdicionarErro(NomeEntidade, e.Message, HttpStatusCode.InternalServerError);
                return(null);
            }
        }
Example #7
0
        public async Task <Autor> AtualizarAutor(Autor autor)
        {
            try
            {
                var atual = await BuscarAutorPorId(autor.Id);

                if (atual == null)
                {
                    return(null);
                }

                var view = Mapper.Map <AutorView>(autor);
                Context.Entry(view).State = EntityState.Modified;

                await Context.SaveChangesAsync();

                return(autor);
            }
            catch (Exception ex)
            {
                Notifier.AdicionarErro(NomeEntidade, ex.Message, System.Net.HttpStatusCode.InternalServerError);
                return(null);
            }
        }