// GET: Livro/Edit/5
        public ActionResult Edit(int id)
        {
            var livro = repository.GetLivroById(id);

            LivroViewModel livroVM = new LivroViewModel();

            livroVM.id      = livro.id;
            livroVM.titulo  = livro.titulo;
            livroVM.autor   = livro.autor;
            livroVM.editora = livro.editora;
            livroVM.ano     = livro.ano;

            return(View(livroVM));
        }
Exemplo n.º 2
0
        public LivroViewModel BuscarLivro(int autorId, int id)
        {
            LivroViewModel livro = null;

            HttpResponseMessage response = repositorio.GetResponse("api/autor/" + autorId + "/livro/" + id);

            if (response.IsSuccessStatusCode == true)
            {
                Livro cadastrado = response.Content.ReadAsAsync <Livro>().Result;
                livro = TraduzirLivro(cadastrado);
            }

            return(livro);
        }
Exemplo n.º 3
0
        public void AtualizarLivro(LivroViewModel livroViewModel)
        {
            var livro = repository.GetByID(livroViewModel.Id ?? 0);

            if (livro == null)
            {
                throw new Exception("Livro não encontrado para alteração!");
            }
            livro.Titulo  = livroViewModel.Titulo;
            livro.Autor   = livroViewModel.Autor;
            livro.Editora = livroViewModel.Editora;
            livro.Ano     = livroViewModel.Ano ?? livro.Ano;
            repository.SaveChanges();
        }
Exemplo n.º 4
0
        public IActionResult Upsert(LivroViewModel livro)
        {
            Livro livroInserir = new()
            {
                Id        = livro.Id,
                Ativo     = livro.Ativo,
                Ano       = livro.Ano,
                Autores   = livro.Autores,
                Pais      = livro.Pais,
                Titulo    = livro.Titulo,
                Sinopse   = livro.Sinopse,
                ImagemURL = livro.ImagemURL
            };

            if (livro.ImagemUpload != null)
            {
                var imgPrefixo = Guid.NewGuid() + "_";

                if (!Util.Util.UploadArquivo(livro.ImagemUpload, imgPrefixo))
                {
                    return(View(livro));
                }
                livroInserir.ImagemURL = imgPrefixo + livro.ImagemUpload.FileName;
            }

            if (livroInserir.ImagemURL == null)
            {
                livroInserir.ImagemURL = "50bc7e78-0857-4000-a890-dafe2cd74c83_unnamed.jpg";
            }

            if (ModelState.IsValid)
            {
                if (livro.Titulo == null)
                {
                    //Creating
                    _db.Livros.Add(livroInserir);
                }
                else
                {
                    //updating
                    _db.Livros.Update(livroInserir);
                }

                _db.SaveChanges();
                StatusMessage = "Livro cadastrado com sucesso!\n Pendente aprovação do Administrador.";
            }

            return(LocalRedirect($"~/Livros/Details/{livroInserir.Id}"));
        }
Exemplo n.º 5
0
        public ActionResult Create(LivroViewModel livro)
        {
            if (ModelState.IsValid)
            {
                int idLivro = 0;

                try
                {
                    livro.Ativo = "S";

                    var livroDomain = Mapper.Map <LivroViewModel, Livro>(livro);
                    _livroApp.Add(livroDomain);

                    var livroView = Mapper.Map <Livro, LivroViewModel>(_livroApp.GetAllDescending());

                    if (livroView != null)
                    {
                        idLivro = livroView.LivroId;

                        var rAssunto = IncluirAlterarLivroAssunto(livro.AssuntoId, idLivro);
                        if (rAssunto != "Sucesso")
                        {
                            return(Json(new { success = false, error = rAssunto }));
                        }

                        var rAutor = IncluirAlterarLivroAutor(livro.AutorId, idLivro);
                        if (rAutor != "Sucesso")
                        {
                            return(Json(new { success = false, error = rAutor }));
                        }
                    }
                    else
                    {
                        PopularCombos();
                        return(Json(new { success = false, error = "Error|Livro sem código ainda!" }));
                    }

                    return(Json(new { success = true }));
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.Message;
                    return(PartialView("Create", livro));
                }
            }

            PopularCombos();
            return(PartialView(livro));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> ExcluirLivro(LivroViewModel model)
        {
            if (model.Id != 0)
            {
                var livro = await _livroDAO.GetByLivroId(model.Id);

                await _livroDAO.Delete(livro);

                Success("Excluido com Sucesso!", true);
                return(RedirectToAction("Index"));
            }

            Danger("Não foi possível excluir o livro.", true);
            return(RedirectToAction("Index"));
        }
        public void Insert([FromBody] LivroViewModel livroModel)
        {
            var livro = new Livro
            {
                Ano         = livroModel.Ano,
                Assuntos    = livroModel.Assuntos,
                Autor       = livroModel.Autor,
                Edicao      = livroModel.Edicao,
                Editora     = livroModel.Editora,
                QtdeEstoque = livroModel.QtdeEstoque,
                Titulo      = livroModel.Titulo
            };

            _livroApp.Save(livro);
        }
Exemplo n.º 8
0
        public ActionResult Edit(int id, LivroViewModel livroViewModel)
        {
            if (ModelState.IsValid)
            {
                var livroEntidade = Mapper.Map <LivroViewModel, Livro>(livroViewModel);
                _livroApp.Atualizar(livroEntidade);

                return(RedirectToAction("Index"));
            }

            ViewBag.EditoraId   = new SelectList(_editoraApp.ObterTodos(), "EditoraId", "Nome", livroViewModel.EditoraId);
            ViewBag.CategoriaId = new SelectList(_categoriaApp.ObterTodos(), "CategoriaId", "Nome", livroViewModel.CategoriaId);

            return(View(livroViewModel));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Criar([FromBody] LivroViewModel livroViewModel)
        {
            var livroExistente = await _consultarLivro.BuscarPorNome(livroViewModel.Nome);

            if (livroExistente != null)
            {
                return(NotFound(new { msg = "Livro já cadastrado na biblioteca" }));
            }

            var livro = LivroFactory.MapearLivro(livroViewModel);

            await _criarLivro.Executar(livro);

            return(Ok(new { msg = "Livro criado com sucesso" }));
        }
Exemplo n.º 10
0
        public ActionResult ExcluirLivro(LivroViewModel livroViewModel)
        {
            bool ret = this.DeleteLivro(livroViewModel.Id);

            if (!ret)
            {
                TempData["warning"] = "Problemas de exclusão de livro!";
            }
            else
            {
                TempData["success"] = "Livro excluído com sucesso.";
            }

            return(RedirectToAction("ListaLivros", "Livraria"));
        }
Exemplo n.º 11
0
        /// <summary>
        /// Aqui haveria validação de permissao, se registro existe etc
        /// E deixaria o automapper resolver as propriedades
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Editar(Guid id)
        {
            var livro = LivroService.GetById(id);

            var livroViewModel = new LivroViewModel
            {
                Autor   = livro.Autor,
                Erros   = livro.Erros,
                Id      = livro.Id,
                IsValid = livro.IsValid(),
                Nome    = livro.Nome
            };

            return(View(livroViewModel));
        }
Exemplo n.º 12
0
        private Livro FromViewModel(LivroViewModel livro)
        {
            var model = new Livro
            {
                Nome          = livro.Nome,
                Corredor      = livro.Corredor,
                Prateleira    = livro.Prateleira,
                DataLancado   = livro.DataLancado,
                NumeroPaginas = livro.NumeroPaginas,
                Autor         = _context.Autores.FirstOrDefault(x => x.Id == livro.AutorId),
                Genero        = _context.Generos.FirstOrDefault(x => x.Id == livro.GeneroId)
            };

            return(model);
        }
Exemplo n.º 13
0
        public ActionResult GravarLivro(LivroViewModel model)
        {
            var imageTypes = new string[]
            {
                "image/gif",
                "image/jpeg",
                "image/pjpeg",
                "image/png"
            };

            var pdf = new string[]
            {
                "application/pdf"
            };

            if (model.ImageUpload == null || model.ImageUpload.ContentLength == 0)
            {
                ModelState.AddModelError("ImageUpload", "Este campo é obrigatório");
            }
            else if (!imageTypes.Contains(model.ImageUpload.ContentType))
            {
                ModelState.AddModelError("ImageUpload", "Escolha uma imagem GIF, JPG ou PNG");
            }


            if (ModelState.IsValid)
            {
                Livro livro = new Livro();
                livro.Titulo         = model.Titulo;
                livro.Autor          = model.Autor;
                livro.DataLancamento = model.DataLancamento;
                livro.Genero         = model.Genero;
                livro.Sinopse        = model.Sinopse;

                using (var binaryReader = new BinaryReader(model.ImageUpload.InputStream))
                    livro.Imagem = binaryReader.ReadBytes(model.ImageUpload.ContentLength);
                using (var pdfReader = new BinaryReader(model.Pdf.InputStream))
                    livro.ConteudoAnexo = pdfReader.ReadBytes(model.Pdf.ContentLength);


                _livroRepository.GravarLivro(livro);
                _livroRepository.Salvar();
                TempData["gravar"] = "Livro Adicionaddo com sucesso";
                return(RedirectToAction("ListarLivros"));
            }

            return(View(model));
        }
Exemplo n.º 14
0
        public IActionResult Edit(LivroViewModel livroViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(livroViewModel));
            }

            _livroAppService.Update(livroViewModel);

            if (IsValidOperation())
            {
                ViewBag.Sucesso = "Livro atualizado!";
            }

            return(View(livroViewModel));
        }
Exemplo n.º 15
0
        public async Task <IActionResult> Edit(Guid id, LivroViewModel livroViewModel)
        {
            if (id != livroViewModel.Id)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(View(livroViewModel));
            }

            var livro = _mapper.Map <Livro>(livroViewModel);
            await _livroRepository.Adicionar(livro);

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 16
0
 public ActionResult Edit(int id, LivroViewModel livroViewModel)
 {
     try
     {
         if (ModelState.IsValid)
         {
             _livroApp.Update(livroViewModel);
             return(RedirectToAction(nameof(Index)));
         }
     }
     catch
     {
         return(View(livroViewModel));
     }
     return(View(livroViewModel));
 }
Exemplo n.º 17
0
        public ActionResult Edit(LivroViewModel livro)
        {
            var l = _livroService.Obter(livro.Id);

            l.Id    = livro.Id;
            l.Ano   = livro.Ano;
            l.Autor = livro.Autor;
            l.Nome  = livro.Nome;
            _livroService.Editar(l);
            //LivroViewModel lm = new LivroViewModel();
            //lm.Id = l.Id;
            //lm.Ano = l.Ano;
            //lm.Autor = l.Autor;
            //lm.Nome = l.Nome;
            return(RedirectToAction("ListarLivros"));
        }
Exemplo n.º 18
0
        public LivroViewModel Update(LivroViewModel entity)
        {
            var dbModel = new Livro();

            if (dbModel.Autor == null)
            {
                dbModel.Autor = new Autor();
            }
            dbModel.Autor.Id = entity.AutorId;



            if (dbModel.Genero == null)
            {
                dbModel.Genero = new Genero();
            }
            dbModel.Genero.Id = entity.GeneroId;


            dbModel.Nome          = entity.Nome;
            dbModel.Corredor      = entity.Corredor;
            dbModel.NumeroPaginas = entity.NumeroPaginas;
            dbModel.Prateleira    = entity.Prateleira;

            dbModel.Id = entity.Id;

            Validate(dbModel);

            _context.ChangeTracker.TrackGraph(dbModel, e =>
            {
                e.Entry.State = EntityState.Unchanged;

                if ((e.Entry.Entity as Livro) == null)
                {
                    return;
                }

                _context.Entry((Livro)e.Entry.Entity).Property("AutorId").IsModified  = true;
                _context.Entry((Livro)e.Entry.Entity).Property("GeneroId").IsModified = true;
                _context.Entry((Livro)e.Entry.Entity).Property("Id").IsModified       = false;
            });

            _context.Livros.Update(dbModel);
            _context.SaveChanges();

            return(entity);
        }
Exemplo n.º 19
0
        public HttpResponseMessage PesquisaOrdenadaLivros(LivroViewModel model)
        {
            try
            {
                var livros = _livroApplicationService.PesquisarLivros(model);
                if (livros == null || livros.Count <= 0)
                {
                    throw new Exception("Livro não encontrado.");
                }

                return(Request.CreateResponse(HttpStatusCode.OK, livros.ToArray()));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Exemplo n.º 20
0
        public ActionResult Create([Bind(Include = "IdLivro,NomeLivro,IdColecao")] LivroViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Livro livro = Mapper.Map <LivroViewModel, Livro>(viewModel);
                repositorioLivros.Inserir(livro);
                return(RedirectToAction("Index"));
            }
            List <ColecaoIndexViewModel> colecoes = Mapper.Map <List <Colecao>,
                                                                List <ColecaoIndexViewModel> >(repositorioColecoes.Selecionar());

            SelectList dropDownColecoes = new SelectList(colecoes, "Id", "Nome");

            ViewBag.DropDownColecoes = dropDownColecoes;

            return(View(viewModel));
        }
        // GET: LivroViewModels/Delete/5
        public IActionResult Delete(int id)
        {
            var livro = _livroBLL.GetById(id);

            var livroViewModel = new LivroViewModel
            {
                LivroId               = livro.LivroId,
                Titulo                = livro.Titulo,
                GeneroId              = livro.GeneroId,
                AutorId               = livro.AutorId,
                Sinopse               = livro.Sinopse,
                ImagemCapa            = livro.ImagemCapa,
                ImagemCapaContentType = livro.ImagemCapaContentType
            };

            return(View(livroViewModel));
        }
Exemplo n.º 22
0
        public ActionResult Delete(long id)
        {
            var livro          = _livroService.RecuperarLivroPorId(id);
            var livroViewModel = new LivroViewModel
            {
                Id                = livro.Id,
                AnoPublicacao     = livro.AnoPublicacao,
                AutorPrincipal    = livro.AutorPrincipal,
                Descricao         = livro.Descricao,
                EditoraPublicacao = livro.EditoraPublicacao,
                GeneroLivro       = livro.GeneroLivro,
                Isbn              = livro.Isbn,
                Titulo            = livro.Titulo
            };

            return(View(livroViewModel));
        }
        public ActionResult Create(LivroViewModel livro)
        {
            if (ModelState.IsValid)
            {
                repository.CreateLivro(new Domain.Livro()
                {
                    id      = livro.id,
                    titulo  = livro.titulo,
                    autor   = livro.autor,
                    editora = livro.editora,
                    ano     = livro.ano
                });

                return(RedirectToAction("Index"));
            }
            return(View(livro));
        }
        public IActionResult Create(LivroViewModel viewModel)
        {
            var retorno = _mapper.Map <LivroViewModel>(_livroService.Save(_mapper.Map <Livro>(viewModel)));

            if (retorno.ListaErros.Count > 0)
            {
                foreach (var item in retorno.ListaErros)
                {
                    ModelState.AddModelError("Erro", item);
                }
                return(View(retorno));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Exemplo n.º 25
0
        public IActionResult GetById(int id)
        {
            var livro     = _livroApp.GetById(id);
            var viewModel = new LivroViewModel
            {
                Id          = livro.Id,
                Titulo      = livro.Titulo,
                Autor       = livro.Autor,
                Edicao      = livro.Edicao,
                Editora     = _editoraApp.GetById(livro.Editora.Id),
                Assuntos    = livro.Assuntos,
                Ano         = livro.Ano,
                QtdeEstoque = livro.QtdeEstoque
            };

            return(Ok(viewModel));
        }
Exemplo n.º 26
0
        public void TestPut()
        {
            var model = new LivroViewModel
            {
                IdLivro   = 1,
                Descricao = "O Milagre da Manhã"
            };

            var result       = autorController.Put(model);
            var objectResult = Assert.IsType <OkObjectResult>(result);

            Assert.Same(model, objectResult.Value);
            var resultGet       = autorController.Get(1);
            var objectResultGet = Assert.IsType <OkObjectResult>(resultGet);

            Assert.Same(model, objectResultGet.Value);
        }
Exemplo n.º 27
0
        public IActionResult Create(LivroViewModel livroViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(livroViewModel));
            }

            _livroAppService.Register(livroViewModel);

            if (IsValidOperation())
            {
                ViewBag.Sucesso = "Livro cadastrado!";
                return(RedirectToAction("Index"));
            }

            return(View(livroViewModel));
        }
Exemplo n.º 28
0
        public async Task <IActionResult> Edit(Guid id, LivroViewModel livroViewModel)
        {
            if (id != livroViewModel.Id)
            {
                return(NotFound());
            }

            var livroAtualizacao = await ObterLivro(id);

            livroViewModel.Editora    = livroAtualizacao.Editora;
            livroViewModel.ImagemCapa = livroAtualizacao.ImagemCapa;

            if (!ModelState.IsValid)
            {
                return(View(livroViewModel));
            }

            if (livroViewModel.ImagemCapaUpload != null) //Imagem de Capa Alterada
            {
                ExcluirImagemCapa(livroAtualizacao.ImagemCapa);

                var imgPrefixo = Guid.NewGuid() + "_";
                if (!await UploadArquivo(livroViewModel.ImagemCapaUpload, imgPrefixo))
                {
                    return(View(livroViewModel));
                }

                livroAtualizacao.ImagemCapa = imgPrefixo + livroViewModel.ImagemCapaUpload.FileName;
            }

            livroAtualizacao.Autor        = livroViewModel.Autor;
            livroAtualizacao.DtPublicacao = livroViewModel.DtPublicacao;
            livroAtualizacao.ISBN         = livroViewModel.ISBN;
            livroAtualizacao.Sinopse      = livroViewModel.Sinopse;
            livroAtualizacao.Titulo       = livroViewModel.Titulo;
            livroAtualizacao.Ativo        = livroViewModel.Ativo;

            await _livroService.Atualizar(_mapper.Map <Livro>(livroAtualizacao));

            if (!OperacaoValida())
            {
                return(View(livroViewModel));
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 29
0
        public ActionResult Edit(int id, LivroViewModel livroViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var livro = Mapper.Map <LivroViewModel, LivroDTO>(livroViewModel);
                    _livrosBusiness.Alterar(id, livro);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 30
0
        // GET: Livros/Edit/5
        public ActionResult Edit(int id)
        {
            var repository = new LivroRepository();

            var livro = repository.DetailLivro(id);

            var livroViewModel = new LivroViewModel
            {
                Id      = livro.Id,
                Ano     = livro.Ano,
                Autor   = livro.Autor,
                Editora = livro.Editora,
                Titulo  = livro.Titulo
            };

            return(View(livroViewModel));
        }
 public CadastroDeLivroService(LivroViewModel livroViewModel)
 {
     _LivroModel = livroViewModel;
 }