예제 #1
0
 public ActionResult Editar(int id, string msg = "", bool permissaoEditar = false)
 {
     ViewBag.Livros          = new SelectList(LivroModel.Lista(), "idLivro", "nomeLivro");
     ViewBag.Msg             = msg;
     ViewBag.PermissaoEditar = permissaoEditar;
     return(View("Detalhe", ReservaModel.ObterRegistro(id)));
 }
예제 #2
0
        public IActionResult OnPut(int id, LivroModel livroModel)
        {
            if (id != livroModel.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("Existe algum valor inválido passado."));
            }

            try
            {
                _unitOfWork.BeginTransaction();
                var updatedModel = _livroService.Update(livroModel);
                _unitOfWork.Commit();

                return(Ok(updatedModel));
            }
            catch (ApplicationException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #3
0
        public static async Task <LivroModel> Get(int isbn)
        {
            LivroResponseGet responseGet    = null;
            LivroModel       livroResultado = null;

            var uri = new Uri(string.Format("{0}/Livros/{1}", urlBase, isbn));

            using (var cliente = new HttpClient())
            {
                //var data = JsonConvert.SerializeObject(request);
                //var content = new StringContent(data, Encoding.UTF8, "application/json");

                HttpResponseMessage response = await cliente.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    // Retornou com sucesso
                    var responseString = await response.Content.ReadAsStringAsync();

                    responseGet = JsonConvert.DeserializeObject <LivroResponseGet>(responseString);

                    // Se não houve erro, extrai o resultado
                    if (responseGet != null && responseGet.IndicadorErro == 0)
                    {
                        livroResultado = responseGet.Livros.FirstOrDefault();
                    }
                }
            }
            return(livroResultado);
        }
예제 #4
0
        // GET: LivroController/Details/5
        public ActionResult Details(int id)
        {
            Livro      livro      = _livroService.Obter(id);
            LivroModel livroModel = _mapper.Map <LivroModel>(livro);

            return(View(livroModel));
        }
예제 #5
0
        public string Salvar(LivroModel model)
        {
            if (!ValidaLivro(model))
            {
                return("AVISO");
            }

            bool salvou = false;

            try
            {
                if (model.Id == 0)
                {
                    salvou = livroRepository.Salvar(model);
                }
                else
                {
                    salvou = livroRepository.Atualizar(model);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return("OK");
        }
예제 #6
0
 public void saveInfo(LivroModel l)
 {
     novolivro.Ano = l.Ano;
     novolivro.Autor = l.Autor;
     novolivro.Editora = l.Editora;
     novolivro.Estante = l.Estante;
     novolivro.Genero = l.Genero;
     novolivro.Idioma = l.Idioma;
     novolivro.Isbn = l.Isbn;
     novolivro.Preco = l.Preco;
     novolivro.Resumo = l.Resumo;
     novolivro.Titulo = l.Titulo;
     try
     {
         using (var db = new Contexto())
         {
             db.Livro.Add(novolivro);
             db.SaveChanges();
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        private void pesquisarLivroButton_Click(object sender, RoutedEventArgs e)
        {
            string Titulo = this.TituloTxtBox.Text;
            string Autor = this.AutorTxtBox.Text;
            string Editora = this.EditoraTxtBox.Text;
            string Genero = this.GeneroTxtBox.Text;
            string Estante = this.EstanteTxtBox.Text;
            string Idioma = this.IdiomaTxtBox.Text;
            string Ano = this.AnoTxtBox.Text;
            string Isbn = this.IsbnTxtBox.Text;
            string Preco = this.PrecoTxtBox.Text;

            LivroModel livro = new LivroModel();
            if (Ano != "")
                livro.Ano = Convert.ToInt32(Ano);
            else
                livro.Ano = -1;
            livro.Autor = Autor;
            livro.Editora = Editora;
            livro.Genero = Genero;
            livro.Estante = Estante;
            livro.Idioma = Idioma;
            if (Isbn != "")
                livro.Isbn = Convert.ToInt64(Isbn);
            else
                livro.Isbn = -1;
            livro.Titulo = Titulo;

            LivroController lCtrl = new LivroController();
            List<LivroModel> ListLivro = lCtrl.searchInfo(livro);

            var db = new Contexto();
            this.LivroDataGrid.ItemsSource = ListLivro;
        }
예제 #8
0
        public async Task <HttpResponseMessage> PostLivroCadastro(LivroModel livro)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var mensagemError = new MensagemResposta("error", "Dados Incompletos. Porfavor preencha os campos requeridos.");
                    throw new DadosIvalidoException(mensagemError);
                }


                var serviceCadastroDeLivros = new CadastrarLivrosService();
                await serviceCadastroDeLivros.Cadastrar(livro);
            }
            catch (DadosIvalidoException e)
            {
                var resp = Request.CreateResponse(HttpStatusCode.BadRequest, e.ExceptionMessage);

                throw new HttpResponseException(resp);
            }

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, livro);

            return(response);
        }
        public IActionResult Delete(LivroModel livroModel)
        {
            var livroToRemove = Livros.FirstOrDefault(x => x.Id == livroModel.Id);

            Livros.Remove(livroToRemove);

            return(RedirectToAction(nameof(Index)));
        }
예제 #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            LivroModel livromodel = db.LivroModels.Find(id);

            db.LivroModels.Remove(livromodel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IActionResult Index()
        {
            LivroModel objLivro = new LivroModel();

            ViewBag.ListaLivros = objLivro.ListarTodosLivros();

            return(View());
        }
예제 #12
0
 public ActionResult Create(LivroModel livroModel)
 {
     if (ModelState.IsValid)
     {
         var livro = _mapper.Map <Livro>(livroModel);
         _livroService.Inserir(livro);
     }
     return(RedirectToAction(nameof(Index)));
 }
예제 #13
0
 public ActionResult Edit(int id, LivroModel livroModel)
 {
     if (ModelState.IsValid)
     {
         var livro = _mapper.Map <Livro>(livroModel);
         _livroService.Editar(livro);
     }
     return(RedirectToAction(nameof(Index)));
 }
예제 #14
0
        public ActionResult Livro(int id = 0)
        {
            LivroModel ent = new LivroModel();

            if (id != 0)
            {
                ent = Mapper.Map <livros, LivroModel>(new LivrosDAO().GetById(id));
            }
            return(View(ent));
        }
예제 #15
0
        public IActionResult Edit(LivroModel livroModel)
        {
            var livroToEdit = Livros.First(x => x.Id == livroModel.Id);

            livroToEdit.Isbn       = livroModel.Isbn;
            livroToEdit.Publicacao = livroModel.Publicacao;
            livroToEdit.Titulo     = livroModel.Titulo;

            return(RedirectToAction(nameof(Index)));
        }
예제 #16
0
        public IHttpActionResult IncluirLivro(LivroModel model)
        {
            //var autor = repositorioAutor.ObterAutorPorId();
            var autor = new Autor("blabla");

            var livro = new Livro(model.Isbn, model.Titulo, model.Descricao, model.Genero, autor);

            repositorio.IncluirLivro(livro);

            return(Ok(new { dados = livro }));
        }
예제 #17
0
        private bool VerificarISBN(LivroModel livroModel)
        {
            ValidadorDeISBN validadorDeIsbn = new ValidadorDeISBN();

            foreach (var isbn in livroModel.Isbn)
            {
                validadorDeIsbn.AddISBN(isbn);
            }

            return(validadorDeIsbn.Validar());
        }
예제 #18
0
 public ActionResult Deletar(int id)
 {
     if (LivroModel.Deletar(id))
     {
         return(Index("Registro salvo com sucesso"));
     }
     else
     {
         return(Index("O registro nao foi excluido."));
     }
 }
예제 #19
0
        // TODO: criar injeção de depencia
        public static async Task <List <LivroModel> > GetLivros()
        {
            List <LivroModel> Livros = new List <LivroModel>();

            #region Mock
            LivroModel livroMock = new LivroModel
            {
                Isbn   = 1,
                Titulo = "Senhor dos Anéis - A Sociedade do Anel",
                //public List<Guid> Editoras { get;set;  }
                AnoLancamento = new DateTime(2018, 10, 14),
                Valor         = 59
                                //public List<Guid> Autores
            };

            livroMock.Editoras.Add(1);
            livroMock.Editoras.Add(2);

            livroMock.Autores.Add(1);

            LivroModel livroMock2 = new LivroModel
            {
                Isbn          = 2,
                Titulo        = "Senhor dos Anéis - As Duas Torres",
                AnoLancamento = new DateTime(2018, 10, 14),
                Valor         = 59
            };

            livroMock2.Editoras.Add(1);
            livroMock2.Editoras.Add(2);

            livroMock2.Autores.Add(1);

            LivroModel livroMock3 = new LivroModel
            {
                Isbn          = 3,
                Titulo        = "Senhor dos Anéis - O Retorno do Rei",
                AnoLancamento = new DateTime(2018, 10, 14),
                Valor         = 59
            };

            livroMock3.Editoras.Add(1);
            livroMock3.Editoras.Add(2);

            livroMock3.Autores.Add(1);
            #endregion

            Livros.Add(livroMock);
            Livros.Add(livroMock2);
            Livros.Add(livroMock3);

            return(Livros);
        }
예제 #20
0
 public void AdicionarLivro(LivroModel Livro)
 {
     try
     {
         _db.Livro.Add(Livro);
         _db.SaveChanges();
     }
     catch (InvalidCastException e)
     {
         throw new Exception("Erro ao adicionar este livro.", e);
     }
 }
예제 #21
0
        public ActionResult Edit(LivroModel livroModel)
        {
            if (ModelState.IsValid)
            {
                var livro = new LivroTransformation().TransformarLivroModelEmLivro(livroModel);
                _livroApp.Update(livro);

                return(RedirectToAction("Index"));
            }

            return(View(livroModel));
        }
예제 #22
0
        public LivrosGet GetLivros(int idAutor)
        {
            LivrosGet result = new LivrosGet();

            EditoraModel editoraMock = new EditoraModel()
            {
                IdEditora = 1,
                Nome      = "Abril"
            };

            if (idAutor == 1)
            {
                LivroModel livroMock = new LivroModel()
                {
                    Isbn          = 654321,
                    Editora       = editoraMock,
                    AnoLancamento = DateTime.Now,
                    Titulo        = "Odisseia"
                };

                LivroModel livroMock1 = new LivroModel()
                {
                    Isbn          = 123456,
                    Editora       = editoraMock,
                    AnoLancamento = DateTime.Now,
                    Titulo        = "Iliada"
                };

                AutorModel autorMock = new AutorModel()
                {
                    IdAutor   = 1,
                    Nome      = "Homero",
                    SobreNome = string.Empty
                };

                livroMock.ListaAutores.Add(autorMock);
                livroMock1.ListaAutores.Add(autorMock);

                result.Livros.Add(livroMock1);
                result.Livros.Add(livroMock);
            }

            if (result.Livros.Count == 0)
            {
                result.StatusCode = 204;
            }
            else
            {
                result.StatusCode = 200;
            }

            return(result);
        }
예제 #23
0
        public ActionResult Edit(LivroModel livromodel)
        {
            if (ModelState.IsValid)
            {
                new LivroDAL.LivrosDAL.Atualizar(livromodel);

                db.Entry(livromodel).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(livromodel));
        }
예제 #24
0
        public void Create(LivroModel livromodel)
        {
            new LivroDAL.LivrosDAL().Inserir(new Dominio.arquivos.Livro()
            {
                Nome           = livromodel.Nome,
                Preco          = livromodel.Preco,
                DataPublicacao = livromodel.DataPublicacao,
            });


            //return RedirectToAction("Index");
        }
예제 #25
0
        public LivroModel TransformarLivroEmLivroModel(Livro livro)
        {
            var livroModel = new LivroModel();

            livroModel.Id            = livro.Id;
            livroModel.Editora       = livro.Editora;
            livroModel.Edicao        = livro.Edicao;
            livroModel.AnoPublicação = livro.AnoPublicacao;
            livroModel.Valor         = livro.Valor;
            livroModel.Autores       = livro.Autores;

            return(livroModel);
        }
예제 #26
0
        public ActionResult Editar(string id)
        {
            var livro = LivroModel.Obter(id);

            if (livro == null)
            {
                TempData["Mensagem"] = "Não foi possível encontrar o livro solicitado";

                return(RedirectToAction("Index"));
            }

            return(View("Editar", livro));
        }
예제 #27
0
        // GET: LivroController/Edit/5
        public ActionResult Edit(int id)
        {
            IEnumerable <Autor>   listaAutores  = _autorService.ObterTodos();
            IEnumerable <Editora> listaEditoras = _editoraService.ObterTodos();
            Livro livro = _livroService.Obter(id);

            ViewBag.IdEditora = new SelectList(listaEditoras, "IdEditora", "Nome", livro.IdEditoraNavigation);
            ViewBag.IdAutor   = new SelectList(listaAutores, "IdAutor", "Nome", livro.IdEditoraNavigation);

            LivroModel livroModel = _mapper.Map <LivroModel>(livro);

            return(View(livroModel));
        }
예제 #28
0
        public string Remover(LivroModel model)
        {
            bool excluiu = false;

            try
            {
                excluiu = livroRepository.Remover(model);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return("OK");
        }
예제 #29
0
        public void RemoverLivro(int idLivro)
        {
            try
            {
                LivroModel livro = BuscarLivro(idLivro);

                _db.Livro.Remove(livro);
                _db.SaveChanges();
            }
            catch (InvalidCastException e)
            {
                throw new Exception("Não foi possivel remover este livro.", e);
            }
        }
예제 #30
0
        public async Task <HttpResponseMessage> GetLivroPorISBN(string isbn)
        {
            var serviceBuscaDeLivros = new BuscarLivrosService();

            LivroModel livro = await serviceBuscaDeLivros.PesquisarPorISBN(isbn);

            if (livro.Titulo == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new MensagemResposta("error", "Este livro nao existe.")));
            }
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, livro);

            return(response);
        }
예제 #31
0
        public Livro MontarEntidadeLivro(LivroModel livroModel)
        {
            var livro = new Livro();

            livro.Titulo          = livroModel.Titulo;
            livro.Autores         = String.Join(",", livroModel.Autores);
            livro.Isbn            = String.Join(",", livroModel.Isbn);
            livro.NumeroDePaginas = livroModel.NumeroDePaginas;
            livro.Status          = livroModel.Status;
            livro.Editora         = livroModel.Editora;
            livro.Descricao       = livroModel.Descricao;
            livro.CategoriaID     = livroModel.Categoria.Id;

            return(livro);
        }
예제 #32
0
        public ActionResult Salvar(LivroModel model)
        {
            livros ent = Mapper.Map <livros>(model);

            if (model.id_livro > 0)
            {
                new LivrosDAO().Atualizar(ent);
            }
            else
            {
                new LivrosDAO().Salvar(ent);
            }

            return(RedirectToAction("Index"));
        }
        private void addItemButton_Click(object sender, RoutedEventArgs e)
        {
            //adiciona item no grid view

            //LivroController livroCtrl = new LivroController();
            //LivroModel livro = new LivroModel();
            LivroController livroCtrl = new LivroController();
            LivroModel livro = new LivroModel();
            livro.Isbn = Convert.ToInt64(this.CodigoItemTxtBox.Text);
            _precoTotal += livroCtrl.searchInfo(livro).First().Preco;
               // ListaItensComprados.Add(livro);
            //this.PrecoTotalTxtBox.Text = _precoTotal.ToString();
            //_precoTotal += livroCtrl.searchInfo(livro).First().Preco;
            //ListaItensComprados.Add(this.CodigoItemTxtBox.Text);
            this.PrecoTotalTxtBox.Text = _precoTotal.ToString();
        }
        private void newLivroButton_Click(object sender, RoutedEventArgs e)
        {
            string Título = this.TituloTxtBox.Text;
            string Autor = this.AutorTxtBox.Text;
            string Editora = this.EditoraTxtBox.Text;
            string Genero = this.GeneroTxtBox.Text;
            string Estante = this.EstanteTxtBox.Text;
            string Idioma = this.IdiomaTxtBox.Text;
            string Ano = this.AnoTxtBox.Text;
            string Isbn = this.IsbnTxtBox.Text;
            string Preco = this.PrecoTxtBox.Text;
            string Resumo = this.ResumoTxtBox.Text;

            if (String.IsNullOrEmpty(Título) || String.IsNullOrEmpty(Autor) || String.IsNullOrEmpty(Editora) ||
                   String.IsNullOrEmpty(Genero) || String.IsNullOrEmpty(Estante) || String.IsNullOrEmpty(Idioma) ||
                   String.IsNullOrEmpty(Ano) || String.IsNullOrEmpty(Isbn) || String.IsNullOrEmpty(Preco) ||
                   String.IsNullOrEmpty(Resumo))
            {
                MessageBox.Show("Preencha todos os campos!");
            }
            else
            {
                LivroModel l = new LivroModel();

                l.Titulo = Título;
                l.Autor = Autor;
                l.Editora = Editora;
                l.Genero = Genero;
                l.Estante = Estante;
                l.Idioma = Idioma;
                l.Ano = Convert.ToInt32(Ano);
                l.Isbn = Convert.ToInt64(Isbn);
                l.Preco = Convert.ToDouble(Preco);
                l.Resumo = Resumo;

                LivroController lCtr = new LivroController();

                lCtr.saveInfo(l);

                MessageBox.Show("Novo Livro Cadastrado!");

                this.NavigationService.Navigate(new ConsultaLivroPage());
            }
        }
예제 #35
0
        //public ClienteModel findInfo(string cpf)
        public LivroModel findInfo(int index)
        {
            LivroModel livro = new LivroModel();

            //cliente.Cpf = Convert.ToInt64(cpf);

            try
            {
                using (var db = new Contexto())
                {
                    livro = db.Livro.Find(index);

                    return livro;
                }
            }
            catch
            {
                MessageBox.Show("Erro na remoção");
                return livro;
            }
        }
예제 #36
0
        public void deleteInfo(LivroModel l)
        {
            LivroModel livro = new LivroModel();

            livro = l;

            try
            {
                using (var db = new Contexto())
                {
                    var entry = db.Entry(livro);
                    if (entry.State == EntityState.Detached)
                        db.Livro.Attach(livro);
                    db.Livro.Remove(livro);

                    db.SaveChanges();
                }
            }
            catch
            {
                MessageBox.Show("Erro na remoção");
            }
        }
예제 #37
0
        public List<LivroModel> searchInfo(LivroModel livro)
        {
            List<LivroModel> listaCombinada = null;
            try
            {
                using (var db = new Contexto())
                {
                    var todosLivros = db.Livro.ToList();

                    List<LivroModel> listaTitulo = todosLivros;
                    List<LivroModel> listaEditora = todosLivros;
                    List<LivroModel> listaAno = todosLivros;
                    List<LivroModel> listaAutor = todosLivros;
                    List<LivroModel> listaGenero = todosLivros;
                    List<LivroModel> listaEstante = todosLivros;
                    List<LivroModel> listaIsbn = todosLivros;
                    List<LivroModel> listaIdioma = todosLivros;

                    if (livro.Titulo != "")
                    {
                        listaTitulo = db.Livro.Where(d => (d.Titulo.Contains(livro.Titulo))).ToList();
                    }
                    if(livro.Editora != "")
                    {
                        listaEditora = db.Livro.Where(d => (d.Editora.Contains(livro.Editora))).ToList();
                    }
                    if (livro.Ano != -1)
                    {
                        listaAno = db.Livro.Where(d => (d.Ano.Equals(livro.Ano))).ToList();
                    }
                    if (livro.Autor != "")
                    {
                        listaAutor = db.Livro.Where(d => (d.Autor.Equals(livro.Autor))).ToList();
                    }
                    if (livro.Isbn != -1)
                    {
                        listaIsbn = db.Livro.Where(d => (d.Isbn.Equals(livro.Isbn))).ToList();
                    }
                    if (livro.Idioma != "")
                    {
                        listaIdioma = db.Livro.Where(d => (d.Idioma.Equals(livro.Idioma))).ToList();
                    }
                    if (livro.Estante != "")
                    {
                        listaEstante = db.Livro.Where(d => (d.Estante.Equals(livro.Estante))).ToList();
                    }
                    if (livro.Genero != "")
                    {
                        listaGenero = db.Livro.Where(d => (d.Genero.Equals(livro.Genero))).ToList();
                    }

                    listaCombinada = listaTitulo.Intersect(listaEditora).Intersect(listaAno).Intersect(listaAutor).
                                     Intersect(listaIsbn).Intersect(listaIdioma).Intersect(listaEstante).
                                     Intersect(listaGenero).ToList();

                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return listaCombinada;
        }
        private void removeLivroButton_Click(object sender, RoutedEventArgs e)
        {
            string delLivro = delIsbnTxtBox.Text;
            int index = Convert.ToInt32(delLivro);

            LivroController lCtrl = new LivroController();
            LivroModel livro = new LivroModel();

            livro = lCtrl.findInfo(index);
            lCtrl.deleteInfo(livro);

            var db = new Contexto();
            this.LivroDataGrid.ItemsSource = db.Livro.ToList();
        }