public List<Livro> listarTodos()
        {
            List<Livro> Lista = new List<Livro>();
            SqlDataReader reader = null;
            try
            {
                string select = @"select l.editora, l.id_obra_livro,l.obra_id_obra from Obra o,Livro l where
                    o.id_obra = l.obra_id_obra order by l.edicao ASC;";
                SqlCommand cmd = new SqlCommand(select, this.connection.Conex);
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Livro Livro = new Livro();
                    Livro.editora = reader.GetString(0);
                    Livro.obra_id_obra = reader.GetInt32(2);
                    Livro.id_obra_livro = reader.GetInt32(1);

                    Lista.Add(Livro);
                }

                return Lista;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Nenhuma Livro encontrado");
                return Lista;
            }
            finally
            {
                reader.Close();
            }
        }
Beispiel #2
0
 public void Adicionar(Livro livro)
 {
     if (PossuiEspacoDisponivel())
         livros.Add(livro);
     else
         throw new InvalidOperationException("A prateleira está cheia");
 }
    protected void ApresentaResultados(Livro[] listaLivros)
    {
        DataTable resposta = new DataTable();

        resposta.Columns.Add("ImageUrl");
        resposta.Columns.Add("ISBN");
        resposta.Columns.Add("Titulo");
        resposta.Columns.Add("Categoria");
        resposta.Columns.Add("Autores");
        resposta.Columns.Add("Editora");
        resposta.Columns.Add("AnoEdicao");
        resposta.Columns.Add("PrecoVenda");

        //preenchimento da tabela
        foreach (Livro livro in listaLivros)
        {
            Object[] temp = new Object[8];

            temp[0] = livro.UrlImagem;
            temp[1] = livro.ISBN;
            temp[2] = livro.Titulo;
            temp[3] = livro.Categoria;
            temp[4] = livro.Autores;
            temp[5] = livro.Editora;
            temp[6] = livro.AnoEdicao;
            temp[7] = livro.PrecoVenda;

            resposta.Rows.Add(temp);
        }

        LivroTabela.DataSource = resposta;
        LivroTabela.DataBind();
    }
Beispiel #4
0
    public Encomenda(EncomendaWEBooks encomendaWEBooks)
    {
        IdEncomenda = encomendaWEBooks.IdEncomenda;

        _listaLivros = new Livro[encomendaWEBooks.ListaBook.Length];
        int i = 0;
        foreach (Book book in encomendaWEBooks.ListaBook) {
            _listaLivros[i] = new Livro();

            _listaLivros[i].ISBN = book.ISBN;
            _listaLivros[i].NomeFornecedor = book.Fornecedor;
            _listaLivros[i].PrecoVenda = book.PrecoVenda + "";
            _listaLivros[i].Quantidade = book.Quantidade;
            _listaLivros[i].TempoEntrega = book.Disponibilidade;
            _listaLivros[i].Titulo = book.Titulo;

            i++;
        }

        //Encher os campos que nao veem da fila

        ValorTotal = 0.0;
        NomeCliente = "indisponivel";

        Numero = "indisponivel";
        Address = "indisponivel";
        City = "indisponivel";
        State = "indisponivel";
        ZIPcode = "indisponivel";
        Country = "indisponivel";
        Estado = "indisponivel";

        TempoEspera = 0;
    }
Beispiel #5
0
 public void Adicionar(Livro livro)
 {
     //se possuir espaço, adiciona.
     if (livros.Count + 1 <= capacidade)
         livros.Add(livro);
     else
         throw new InvalidOperationException("A prateleira está cheia");
 }
Beispiel #6
0
 public virtual void AdicionarLivros(Livro livro)
 {
     if (Livros == null)
     {
         Livros = new List<Livro>();
     }
     livro.Prateleira = this;
     Livros.Add(livro);
 }
 public ActionResult InserirLivro(Livro livro)
 {
     if (ModelState.IsValid)
     {
         if (livros.FirstOrDefault(x => x.Codigo == livro.Codigo) == null)
             livros.Add(livro);
         return RedirectToAction("Index", livros);
     }
     else
         return View("NovoLivro", livro);
 }
 public ActionResult AtualizarLivro(Livro livro)
 {
     if (ModelState.IsValid)
     {
         Livro livroAtualizar = livros.FirstOrDefault(x => x.Codigo == livro.Codigo);
         livroAtualizar.Titulo = livro.Titulo;
         livroAtualizar.Autor = livro.Autor;
         livroAtualizar.Ano = livro.Ano;
         return RedirectToAction("Index", livros);
     }
     else
         return View("EditarLivro", livro);
 }
        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;
        }
Beispiel #10
0
        public virtual void AdicionarLivros(Livro livro)
        {
            if (Livros == null)
            {
                Livros = new List<Livro>();
            }

            if (livro.Autores == null)
            {
                livro.Autores = new List<Autor>();
            }
            livro.Autores.Add(this);

            Livros.Add(livro);
        }
        public LivroModel MontarModeloLivroModel(Livro livro)
        {
            var livroModel = new LivroModel();

            livroModel.Titulo = livro.Titulo;
            livroModel.Autores = livro.Autores.Split(',');
            livroModel.Isbn = livro.Isbn.Split(',');
            livroModel.NumeroDePaginas = livro.NumeroDePaginas;
            livroModel.Status = livro.Status;
            livroModel.Editora = livro.Editora;
            livroModel.Descricao = livro.Descricao;

            var categoriaModel = new CategoriaModel();
            categoriaModel.Id = livro.Categoria.Id;
            categoriaModel.Nome = livro.Categoria.Nome;

            livroModel.Categoria = categoriaModel;

            return livroModel;
        }
Beispiel #12
0
 public void Save(Livro livro)
 {
     this.Context.Livros.Add(livro);
     this.Context.SaveChanges();
 }
Beispiel #13
0
 /// <summary>
 /// Insere um novo livro no base de dados
 /// </summary>
 /// <param name="livroModel">dados do livro</param>
 /// <returns></returns>
 public void Inserir(Livro livro)
 {
     _context.Add(livro);
     _context.SaveChanges();
 }
Beispiel #14
0
 public void Update(int id, Livro livro)
 {
     Repository.Update(id, livro);
 }
        public IHttpActionResult AdicionarLivro(Livro livro)
        {
            var livroRetorno = repositorio.Criar(livro);

            return(Ok(new { dados = livro }));
        }
Beispiel #16
0
    public ArrayList getLivrosEncomenda(string idEncomenda, ComunicacaoBD comunicacaoBD)
    {
        Livro livro = null;
        ArrayList listaLivros = new ArrayList();

        string query = "SELECT Livro.idLivro, Livro.ISBN, Livro.titulo, Livro.categoria, Livro.autores, Livro.editora, " +
                                " Livro.anoEdicao,Livro.urlImagem, Livro.tempoEntrega, Livro.nomeFornecedor, Livro.numPesquisas, " +
                                " LinhaEncomenda.comDesconto, LinhaEncomenda.precoVenda, LinhaEncomenda.quantidade" +
                        " FROM Livro, Encomenda, LinhaEncomenda" +
                        " WHERE " +
                            " Encomenda.idEncomenda = @idEncomenda " +
                            " AND Encomenda.idEncomenda = LinhaEncomenda.idEncomenda " +
                            " AND LinhaEncomenda.idLivro = Livro.idLivro";

        SqlCommand comando = new SqlCommand(query);

        comando.Parameters.Add(new SqlParameter("@idEncomenda", idEncomenda));

        SqlDataReader resposta = invocaQueryLeitura(comando, comunicacaoBD);

        while (resposta.Read() == true)
        {
            livro = new Livro();

            livro.IdLivro = (string)resposta["idLivro"];
            livro.ISBN = (string)resposta["ISBN"];
            livro.Titulo = (string)resposta["titulo"];
            livro.Categoria = (string)resposta["categoria"];
            livro.Autores = (string)resposta["autores"];
            livro.Editora = (string)resposta["editora"];
            livro.AnoEdicao = (string)resposta["anoEdicao"];
            livro.PrecoVenda = ((string)resposta["precoVenda"]).Replace(".", ",");
            livro.PrecoSemDesconto = 0.0 + "";
            livro.UrlImagem = (string)resposta["urlImagem"];
            livro.TempoEntrega = (string)resposta["tempoEntrega"];
            livro.Desconto = (bool)resposta["comDesconto"];
            livro.NumPesquisas = (int)resposta["numPesquisas"];
            livro.NomeFornecedor = (string)resposta["nomeFornecedor"];
            livro.Quantidade = (int)resposta["quantidade"];

            listaLivros.Add(livro);
        }

        if (resposta != null)
            resposta.Close();

        return listaLivros;
    }
Beispiel #17
0
        private void ConstruirLista()
        {
            int evade = 0;

            string linha = "<div class='col-12 col-sm-6 col-md-12 col-xl-6'>" +
                           "<div class='single-product-wrapper'>" +
                           "<!-- Product Image -->" +
                           "<div class='product-img'>" +
                           // falta salvar imagem no BD e tratar na classe de Livro
                           //"<img src = '{1}' alt = ''>" +
                           "<img src = '../img/SEM-IMAGEM.jpg' alt=''>" +
                           "<!-- Hover Thumb -->" +
                           // falta salvar imagem no BD e tratar na classe de Livro
                           //"<img src = '{1}' alt = ''>" +
                           "<img class='hover-img' src='../img/SEM-IMAGEM.jpg' alt=''>" +
                           "</div>" +

                           "<!-- Product Description -->" +
                           "<div class='product-description d-flex align-items-center justify-content-between'>" +
                           "<!-- Product Meta Data -->" +
                           "<div class='product-meta-data'>" +
                           "<div class='line'></div>" +
                           // falta ter o valor de compra do livro (ESTOQUE), por enquanto vou deixar o valor de grupo
                           //"<p class='product-price'>$180</p>" +
                           "<p class='product-price'>R$ {1}</p>" +
                           "<a href = 'ProductDetails.aspx?idLivro={0}' >" +
                           "<h6>{2}</h6>" +
                           "</a>" +
                           "</div>" +
                           "<!-- Ratings & Cart -->" +
                           "<div class='ratings-cart text-right'>" +
                           // Removido, depois implementar
                           //"<div class='ratings'>" +
                           //    "<i class='fa fa-star' aria-hidden='true'></i>" +
                           //    "<i class='fa fa-star' aria-hidden='true'></i>" +
                           //    "<i class='fa fa-star' aria-hidden='true'></i>" +
                           //    "<i class='fa fa-star' aria-hidden='true'></i>" +
                           //    "<i class='fa fa-star' aria-hidden='true'></i>" +
                           //"</div>" +
                           "<div class='cart'>" +
                           "<a href = 'AddToCart.aspx?idLivro={0}' data-toggle='tooltip' data-placement='left' title='Adicionar ao Carrinho'>" +
                           "<img src = '../img/core-img/cart.png' alt=''></a>" +
                           "</div>" +
                           "</div>" +
                           "</div>" +
                           "</div>" +
                           "</div>";

            if (Convert.ToInt32(dropIdEditora.SelectedValue) >= 0)
            {
                livro.Editora.ID = Convert.ToInt32(dropIdEditora.SelectedValue);
            }

            entidades = commands["CONSULTAR"].execute(livro).Entidades;

            try
            {
                evade = entidades.Count;
            }
            catch
            {
                evade = 0;
            }

            StringBuilder conteudo = new StringBuilder();

            Livro livroAux = new Livro();

            livroAux.ID = 0;

            int contador = 0;

            for (int i = 0; i < entidades.Count; i++)
            {
                livro = (Livro)entidades.ElementAt(i);
                if (livro.ID != livroAux.ID)
                {
                    Estoque estoque = new Estoque();
                    estoque.Livro.ID = livro.ID;
                    entidadesAux     = commands["CONSULTAR"].execute(estoque).Entidades;

                    if (entidadesAux.Count > 0)
                    {
                        conteudo.AppendFormat(linha,
                                              livro.ID,
                                              ((Estoque)entidadesAux.ElementAt(0)).ValorVenda.ToString("N2"),
                                              livro.Titulo
                                              );
                    }
                    else
                    {
                        conteudo.AppendFormat(linha,
                                              livro.ID,
                                              "-",
                                              livro.Titulo
                                              );
                    }

                    livroAux.ID = livro.ID;

                    contador++;
                }

                if (contador > 8)
                {
                    break;
                }
            }

            divConteudo.InnerHtml = conteudo.ToString();
            livro.ID = 0;
        }
Beispiel #18
0
 public void Update(Livro autor)
 {
     _context.Livros.Update(autor);
     _context.SaveChanges();
 }
Beispiel #19
0
 public void Add(Livro livro)
 {
     _context.Livros.Add(livro);
     _context.SaveChanges();
 }
Beispiel #20
0
 public void Update(Livro livro)
 {
     Db.Update(SqlEditaLivro, GetParametros(livro));
 }
Beispiel #21
0
        public Livro Save(Livro livro)
        {
            livro.Id = Db.Insert(SqlInsereLivro, GetParametros(livro));

            return(livro);
        }
 public Livro Atualizar(Livro livro)
 {
     contexto.Entry(livro).State = EntityState.Modified;
     contexto.SaveChanges();
     return(livro);
 }
 public void Cadastrar(Livro livro)
 {
     contexto.Livros.Add(livro);
     contexto.SaveChanges();
 }
Beispiel #24
0
 public async Task <Livro> Criar(Livro livro)
 {
     _contexto.Livros.Add(livro);
     await _contexto.SaveChangesAsync(default);
Beispiel #25
0
 public void Delete(Livro livro)
 {
     _livroRepository.Delete(livro);
 }
Beispiel #26
0
        public static Livro MapearLivro(LivroViewModel livroViewModel)
        {
            var livro = new Livro(livroViewModel.Id, livroViewModel.Nome, livroViewModel.Editora);

            return(livro);
        }
Beispiel #27
0
        public IActionResult Editar(int id)
        {
            Livro livro = database.Livros.First(registro => registro.Id == id);

            return(View("Cadastrar", livro));
        }
Beispiel #28
0
        static void Main()
        {
            CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture("pt-BR");

            const string pressioneQualquerTecla = "Pressione qualquer tecla para exibir o menu principal ...";
            string       opcaoEscolhida;

            //var listaLivros = new Dictionary<string, DateTime>();
            var listaLivros = new List <Livro>();

            do
            {
                Console.Clear();
                Console.WriteLine("Gerenciador de Livros\nSelecione uma das opções abaixo:");
                Console.WriteLine("1 - Pesquisar Livros");
                Console.WriteLine("2 - Adicionar Livros");
                Console.WriteLine("3 - Sair");

                opcaoEscolhida = Console.ReadLine();

                if (opcaoEscolhida == "1")
                {
                    Console.WriteLine("Informe o nome, ou parte do nome do livro que deseja encontrar:");
                    var termoDePesquisa   = Console.ReadLine();
                    var livrosEncontrados = listaLivros.Where(x => x.Nome.ToLower().Contains(termoDePesquisa.ToLower()))
                                            .ToList();

                    if (livrosEncontrados.Count > 0)
                    {
                        Console.WriteLine("Selecione uma das opções abaixo para visualizar os dados de um dos livros encontrados:");
                        for (var index = 0; index < livrosEncontrados.Count; index++)
                        {
                            Console.WriteLine($"{index} - {livrosEncontrados[index].Nome}");
                        }

                        ushort indexAExibir;
                        if (!ushort.TryParse(Console.ReadLine(), out indexAExibir) || indexAExibir >= livrosEncontrados.Count)
                        {
                            Console.WriteLine($"Opção inválida! {pressioneQualquerTecla}");
                            Console.ReadKey();
                            continue;
                        }

                        if (indexAExibir < livrosEncontrados.Count)
                        {
                            var livro = livrosEncontrados[indexAExibir];

                            Console.WriteLine("Dados da livro");
                            Console.WriteLine($"Nome: {livro.Nome}");
                            Console.WriteLine($"Data de lançamento: {livro.DataLancamento:dd/MM/yyyy}");

                            var qtdeAnos = livro.CalcularQuantosAnosFoiLancado();

                            if (qtdeAnos > 0)
                            {
                                var tempo = DateTime.Now.Year - livro.DataLancamento.Year;
                                Console.Write($"Este livro foi lançado há {tempo} ano(s). {pressioneQualquerTecla}");
                            }
                            else if (qtdeAnos == 0)
                            {
                                Console.Write($"Este livro foi lançado este ano! {pressioneQualquerTecla}");
                            }
                            else
                            {
                                Console.Write($"Este livro ainda não foi lançado. {pressioneQualquerTecla}");
                            }

                            Console.ReadKey();
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Não foi encontrado nenhum livro! {pressioneQualquerTecla}");
                        Console.ReadKey();
                    }
                }

                else if (opcaoEscolhida == "2")
                {
                    Console.WriteLine("Informe o nome do livro que deseja adicionar");
                    var nomeLivro = Console.ReadLine();

                    Console.WriteLine("Informe a data de lançamento no formato dd/MM/yyyy");

                    DateTime dataLancamento;
                    if (!DateTime.TryParse(Console.ReadLine(), out dataLancamento))
                    {
                        Console.WriteLine($"Data inválida! Dados descartados! {pressioneQualquerTecla}");
                        Console.ReadKey();
                        continue;
                    }

                    Console.WriteLine("Os dados estão corretos?");
                    Console.WriteLine($"Nome: {nomeLivro}");
                    Console.WriteLine($"Data de lançamento: {dataLancamento:dd/MM/yyyy}");
                    Console.WriteLine("1 - Sim \n2 - Não");

                    var opcaoParaAdicionar = Console.ReadLine();

                    if (opcaoParaAdicionar == "1")
                    {
                        var livro = new Livro(nomeLivro, dataLancamento);
                        listaLivros.Add(livro);
                        Console.WriteLine($"Dados adicionados com sucesso! {pressioneQualquerTecla}");
                    }
                    else if (opcaoParaAdicionar == "2")
                    {
                        Console.WriteLine($"Dados descartados! {pressioneQualquerTecla}");
                    }
                    else
                    {
                        Console.WriteLine($"Opção inválida! {pressioneQualquerTecla}");
                    }

                    Console.ReadKey();
                }

                else if (opcaoEscolhida != "3")
                {
                    Console.WriteLine($"Opção inválida. {pressioneQualquerTecla}");
                    Console.ReadKey();
                }
            } while (opcaoEscolhida != "3");
        }
        public Boolean gravarLivro(Livro livro)
        {
            try
            {
                // Cria um objeto DataAdapter
                SqlDataAdapter DA = new SqlDataAdapter("select * from Obra", this.connection.Conex);

                SqlCommand cmd = new SqlCommand("pInsLivro01", this.connection.Conex);
                cmd.CommandType = CommandType.StoredProcedure;

                //string insert = @"INSERT INTO Obra(titulo,subtitulo,local_publicao, ano_publicacao)VALUES(@titulo,@subtitulo,@local,@ano)";
                //SqlCommand cmd = new SqlCommand(insert, this.connection.Conex);

                // Define os parâmetros de comando com valores
                //cmd.Parameters.AddWithValue("@id", 9);

                /*
                 *
                 *  @titulo				VARCHAR(45),
                    @subtitulo			VARCHAR(45),
                    @local_publicacao	VARCHAR(45),
                    @ano_publicacao		INT,
                    @editora			VARCHAR(45),
                    @edicao				VARCHAR(45),
                    @obra_id_obra		INT = NULL OUT,
                    @id_obra_livro		INT = NULL OUT
                 * */
                cmd.Parameters.AddWithValue("@titulo", livro.titulo);
                cmd.Parameters.AddWithValue("@subtitulo", livro.subtitulo);
                cmd.Parameters.AddWithValue("@local_publicacao", livro.local_publicacao);
                cmd.Parameters.AddWithValue("@ano_publicacao", livro.ano_publicacao);
                cmd.Parameters.AddWithValue("@editora", livro.editora);
                cmd.Parameters.AddWithValue("@edicao", livro.edicao);
                cmd.Parameters.Add("@obra_id_obra", SqlDbType.Int);
                cmd.Parameters["@obra_id_obra"].Direction = ParameterDirection.Output;

                DA.InsertCommand = cmd;
                DA.InsertCommand.ExecuteNonQuery();

                livro.id_obra = (int)cmd.Parameters["@obra_id_obra"].Value;

                //MessageBox.Show("Inserido com sucesso");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro ao gravar");
                //MessageBox.Show("Erro ao gravar");
                return false;
            }

            return true;
        }
Beispiel #30
0
    public Livro[] MostraLivrosMaisPesquisados(int numeroLivros)
    {
        ArrayList listaLivros = null;
        Livro[] livros = null;

        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();
        try
        {
            listaLivros = servico.getLivrosMaisPesquisados(numeroLivros, comunicacaoBD);

            livros = new Livro[listaLivros.Count];

            int i = 0;
            foreach (Livro livro in listaLivros)
            {
                livros[i++] = livro;
            }
        }
        catch (SqlException e)
        {
            comunicacaoBD.Transacao.Rollback();
            return null;
        }
        comunicacaoBD.Transacao.Commit();

        return livros;
    }
 public ActionResult Index(Livro livro)
 {
     return View(livros);
 }
Beispiel #32
0
 public void addLivro(Livro livro)
 {
     listaLivros.Add(livro);
 }
Beispiel #33
0
    public Encomenda getEncomenda(string idEncomenda, ComunicacaoBD comunicacaoBD)
    {
        ArrayList listaEncomendas = new ArrayList();
        ArrayList listaLivros = null;
        ArrayList listaEstados = null;

        Encomenda encomendaRetorna = null;

        Livro[] livros;
        EstadoEncomenda[] historicoEstados;

        int iLivro = 0;
        int iEstado = 0;
        double valorTotal = 0.0;

        listaEncomendas = servico.getListaEncomendas(comunicacaoBD);

        foreach (Encomenda encomenda in listaEncomendas)
        {
            if (encomenda.IdEncomenda.Trim() == idEncomenda)
            {
                listaLivros = servico.getLivrosEncomenda(encomenda.IdEncomenda, comunicacaoBD);
                listaEstados = servico.getHistoricoEstados(encomenda.IdEncomenda, comunicacaoBD);

                livros = new Livro[listaLivros.Count];
                historicoEstados = new EstadoEncomenda[listaEstados.Count];

                string[] estado = servico.getUltimoEstado(encomenda.IdEncomenda, comunicacaoBD);

                foreach (Livro livro in listaLivros)
                {
                    livros[iLivro++] = livro;
                    double teste = double.Parse(livro.PrecoVenda);
                    valorTotal += teste * livro.Quantidade;
                }

                foreach (EstadoEncomenda estadoEnc in listaEstados)
                {
                    historicoEstados[iEstado++] = estadoEnc;
                }

                encomenda.ValorTotal = valorTotal;
                encomenda.ListaLivros = livros;
                encomenda.Estado = estado[1];
                encomenda.HistoricoEstado = historicoEstados;

                encomendaRetorna = encomenda;

                break;
            }
        }

        return encomendaRetorna;
    }
Beispiel #34
0
 public void Save(Livro livro)
 {
     this.Repository.Save(livro);
 }
        public void Livro_ObterLivroRepositorio_DeveFuncionar()
        {
            Livro Livro = _repositorio.BuscarPorId(1);

            Livro.Id.Should().BeGreaterThan(0);
        }
Beispiel #36
0
    public void InsereListaLivros(Livro[] listaLivros)
    {
        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();

        Livro aux = null;
        try{
            foreach (Livro livro in listaLivros) {

                aux = servico.getLivro(livro.ISBN, comunicacaoBD);

                if (aux == null)
                {
                    aux = livro;

                    int i = servico.guardaLivro(livro.ISBN, livro.Titulo, livro.Categoria, livro.Autores, livro.Editora, livro.AnoEdicao,
                                                livro.PrecoVenda.Replace(".", ","), livro.PrecoSemDesconto.Replace(",", "."), livro.UrlImagem, livro.TempoEntrega,
                                                livro.Desconto, livro.NomeFornecedor, comunicacaoBD);

                    if (i == 0)
                    {
                        throw new ErroGuardarLivro("Erro: a guardar o livro: " + livro.Titulo);
                    }
                }else {
                    servico.actualizaNumeroPesquisas(livro.ISBN, livro.NomeFornecedor, ++aux.NumPesquisas, livro.PrecoVenda, livro.PrecoSemDesconto, comunicacaoBD);
                }
            }
        }catch (SqlException e)
        {
            comunicacaoBD.Transacao.Rollback();
            throw new ErroGuardarLivro("Erro a guardar lista de livros " + aux.Titulo);
        }

        comunicacaoBD.Transacao.Commit();
    }
Beispiel #37
0
 internal void removeLivro(Livro livro)
 {
     listaLivros.Remove(livro);
 }
Beispiel #38
0
    public void InsereListaPesquisaHistorico(Livro[] listaLivros, string username)
    {
        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();

        Livro aux = null;
        int i = 0;
        string[] livroAux = null;
        Cliente cliente = servico.getDadosCliente(username, comunicacaoBD);
           // string idPesquisasHistorico = servico.getIdPesquisasHistorico(cliente.IdCliente, comunicacaoBD);
        try
        {
            foreach (Livro livro in listaLivros)
            {
                aux = servico.getLivro(livro.ISBN, comunicacaoBD);

                livroAux = servico.verificaLivroPesquisasHistorico(cliente.IdCliente, aux.IdLivro, comunicacaoBD);

                if (livroAux != null)
                {
                    i = servico.incrementaNumeroPesquisasHistorico(cliente.IdCliente, livroAux[0], int.Parse(livroAux[1]) + 1, comunicacaoBD);
                }
                else
                {
                    i = servico.insereLivroPesquisasHistorico("", cliente.IdCliente, aux.IdLivro, 1, comunicacaoBD);
                }

                if (i == 0)
                {
                    throw new ErroGuardarLivro("Erro: a guardar o livro no Historico: " + livro.Titulo);
                }
            }
        }
        catch (SqlException e)
        {
            comunicacaoBD.Transacao.Rollback();
            throw new ErroGuardarLivro("Erro a guardar lista de livros no Historico" + aux.Titulo);
        }

        comunicacaoBD.Transacao.Commit();
    }
Beispiel #39
0
 /// <summary>
 /// Atualiza os dados do livro na base de dados
 /// </summary>
 /// <param name="livroModel">dados do livro</param>
 public void Editar(Livro livro)
 {
     _context.Update(livro);
     _context.SaveChanges();
 }
Beispiel #40
0
    public Livro[] ListaCarrinhoCompras(string username)
    {
        ArrayList listaLivros = null;

        Livro[] livros = null;

        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();

        try

        {

            listaLivros = servico.getLivrosDoCarrinho(username, comunicacaoBD);

            if (listaLivros.Count == 0)

            {

                throw new CarrinhoVazioException();

            }

            livros = new Livro[listaLivros.Count];

            int i = 0;

            foreach (Livro livro in listaLivros)

            {

                livros[i++] = livro;

            }

        }

        catch (SqlException e)

        {

            comunicacaoBD.Transacao.Rollback();

            return null;

        }

        comunicacaoBD.Transacao.Commit();

        return livros;
    }
 public void Incluir(Livro livro)
 {
     throw new System.NotImplementedException();
 }
Beispiel #42
0
    public Livro[] ListaPesquisaHistorico(string username)
    {
        ArrayList listaLivros = null;
        Livro[] livros = null;

        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();
        try
        {
            listaLivros = servico.getLivrosPesquisasHistorico(username, comunicacaoBD);

            livros = new Livro[listaLivros.Count];

            int i = 0;
            foreach (Livro livro in listaLivros)
            {
                livros[i++] = livro;
            }
        }
        catch (SqlException e)
        {
            comunicacaoBD.Transacao.Rollback();
            return null;
        }
        comunicacaoBD.Transacao.Commit();
        return livros;
    }
Beispiel #43
0
 public void Create(Livro livro)
 {
     _livroRepository.Create(livro);
 }
Beispiel #44
0
    // Auxiliares
    public ArrayList MostraEncomendas(string nomeEstado)
    {
        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();

        ArrayList listaEncomendas = new ArrayList();
        ArrayList listaLivros = null;
        ArrayList listaEstados = null;

        ArrayList aux = new ArrayList();

        Livro[] livros;
        EstadoEncomenda[] historicoEstados;

        int iLivro = 0;
        int iEstado = 0;
        double valorTotal = 0.0;

        try
        {
            listaEncomendas = servico.getListaEncomendas(comunicacaoBD);

            foreach (Encomenda encomenda in listaEncomendas)
            {
                listaLivros = servico.getLivrosEncomenda(encomenda.IdEncomenda, comunicacaoBD);
                listaEstados = servico.getHistoricoEstados(encomenda.IdEncomenda, comunicacaoBD);

                livros = new Livro[listaLivros.Count];
                historicoEstados = new EstadoEncomenda[listaEstados.Count];

                string[] estado = servico.getUltimoEstado(encomenda.IdEncomenda, comunicacaoBD);

                if (estado[1].Trim() == nomeEstado || nomeEstado == "todas")
                {
                    foreach (Livro livro in listaLivros)
                    {
                        livros[iLivro++] = livro;
                        double teste = double.Parse(livro.PrecoVenda);
                        valorTotal += teste * livro.Quantidade;
                    }

                    foreach (EstadoEncomenda estadoEnc in listaEstados) {
                        historicoEstados[iEstado++] = estadoEnc;
                    }

                    encomenda.ValorTotal = valorTotal;
                    encomenda.ListaLivros = livros;
                    encomenda.Estado = estado[1];
                    encomenda.HistoricoEstado = historicoEstados;

                    aux.Add(encomenda);

                    iLivro = 0;
                    iEstado = 0;
                    valorTotal = 0.0;
                    continue;
                }

                iLivro = 0;
                iEstado = 0;
                valorTotal = 0.0;

            }
        }
        catch (SqlException es)
        {
            comunicacaoBD.Transacao.Rollback();
            throw new Exception("ERRO: Nao é possivel Cancelar encomenda");
        }
        comunicacaoBD.Transacao.Commit();
        return aux;
    }
Beispiel #45
0
 public void Update(Livro livro)
 {
     _livroRepository.Update(livro);
 }
Beispiel #46
0
        public ActionResult <Livro> Post([FromBody] Livro livro)
        {
            livro.Id = DateTime.Now.Ticks;

            return(livro);
        }
Beispiel #47
0
 /// <summary>
 /// Metodo que adiciona o livro em nossa lista já "instanciada"
 /// </summary>
 /// <param name="parametroLivro"></param>
 public void AdicionarLivro(Livro parametroLivro)
 {
     parametroLivro.Id = idContador++;
     ListLivros.Add(parametroLivro);
 }
Beispiel #48
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            try
            {
                connection.Open();
                pst.Dispose();
                Livro  liv = (Livro)entidade;
                string sql = null;

                if (liv.Nome == null)
                {
                    liv.Nome = "";
                }

                if (liv.ISBN == null)
                {
                    liv.ISBN = "";
                }
                if (liv.Descricao == null)
                {
                    liv.Descricao = "";
                }

                if (liv.ID == 0)
                {
                    sql = "SELECT * FROM livro left join sub_cat_livro using(livro_id) left join sub_categoria using(sub_cat_id) left join livro_autor using(livro_id) left join autor using(autor_id)";
                }
                else
                {
                    sql = "SELECT * FROM livro left join sub_cat_livro using(livro_id) left join sub_categoria using(sub_cat_id) left join livro_autor using(livro_id) left join autor using(autor_id) WHERE forne_id= :co";
                }
                pst.CommandText = sql;
                parameters      = new OracleParameter[] { new OracleParameter("co", liv.ID.ToString()) };
                pst.Parameters.Clear();
                pst.Parameters.AddRange(parameters);
                pst.Connection  = connection;
                pst.CommandType = CommandType.Text;
                //pst.ExecuteNonQuery();
                vai = pst.ExecuteReader();
                List <EntidadeDominio> entidades = new List <EntidadeDominio>();
                Livro         p;
                Sub_Categoria sub;
                Autor         aut;
                Livro         last = new Livro()
                {
                    ID = 0
                };
                while (vai.Read())
                {
                    sub = new Sub_Categoria()
                    {
                    };
                    if (vai["sub_cat_id"] != DBNull.Value)
                    {
                        sub.ID    = Convert.ToInt32(vai["sub_cat_id"]);
                        sub.Nome  = vai["nome_sub_cat"].ToString();
                        sub.Ativo = Convert.ToChar(vai["ativo_sub_cat"]);
                    }
                    aut = new Autor()
                    {
                    };
                    if (vai["autor_id"] != DBNull.Value)
                    {
                        aut.ID    = Convert.ToInt32(vai["autor_id"]);
                        aut.Nome  = vai["nome_aut"].ToString();
                        aut.Ativo = Convert.ToChar(vai["ativo_aut"]);
                    }
                    p = new Livro()
                    {
                        ID        = Convert.ToInt32(vai["livro_id"]),
                        Nome      = (vai["nome"].ToString()),
                        ISBN      = (vai["isbn"].ToString()),
                        N_Pags    = Convert.ToInt32(vai["n_pags"]),
                        Ano       = Convert.ToInt32(vai["ano"]),
                        Descricao = (vai["descricao"].ToString()),
                        Editora   = vai["editora"].ToString()
                    };
                    if (p.ID == last.ID)
                    {
                        last.Sub_categorias.Add(sub);
                        last.Autores.Add(aut);
                    }
                    else
                    {
                        entidades.Add(p);
                        last = p;
                    }
                }
                connection.Close();
                return(entidades);
            }
            catch (OracleException ora)
            {
                throw ora;
            }
        }
Beispiel #49
0
    public ArrayList getLivrosMaisPesquisados(int numeroLivros, ComunicacaoBD comunicacaoBD)
    {
        int i = 0;
        Livro livro = null;
        ArrayList listaLivros = new ArrayList();

        string query = "SELECT Livro.ISBN, Livro.idLivro, Livro.titulo, Livro.categoria, Livro.autores, Livro.editora, " +
                            " Livro.anoEdicao, Livro.precoVenda, Livro.precoSemDesconto, Livro.urlImagem, Livro.tempoEntrega, " +
                            " Livro.desconto, Livro.nomeFornecedor, Livro.numPesquisas " +
                        " FROM Livro " +
                        " GROUP BY Livro.ISBN, Livro.idLivro, Livro.titulo, Livro.categoria, Livro.autores, Livro.editora, " +
                            " Livro.anoEdicao, Livro.precoVenda, Livro.precoSemDesconto, Livro.urlImagem, Livro.tempoEntrega, " +
                            " Livro.desconto, Livro.nomeFornecedor, Livro.numPesquisas " +
                        "ORDER BY Livro.numPesquisas DESC";

        SqlCommand comando = new SqlCommand(query);

        SqlDataReader resposta = invocaQueryLeitura(comando, comunicacaoBD);

        while (resposta.Read() == true)
        {
            if (i++ >= numeroLivros)
            {
                break;
            }

            livro = new Livro();

            livro.IdLivro = (string)resposta["idLivro"];
            livro.ISBN = (string)resposta["ISBN"];
            livro.Titulo = (string)resposta["titulo"];
            livro.Categoria = (string)resposta["categoria"];
            livro.Autores = (string)resposta["autores"];
            livro.Editora = (string)resposta["editora"];
            livro.AnoEdicao = (string)resposta["anoEdicao"];
            livro.PrecoVenda = (string)resposta["PrecoVenda"];
            livro.PrecoSemDesconto = (string)resposta["precoSemDesconto"];
            livro.UrlImagem = (string)resposta["urlImagem"];
            livro.TempoEntrega = (string)resposta["tempoEntrega"];
            livro.Desconto = (bool)resposta["desconto"];
            livro.NumPesquisas = (int)resposta["numPesquisas"];
            livro.NomeFornecedor = (string)resposta["nomeFornecedor"];

            listaLivros.Add(livro);
        }

        if (resposta != null)
            resposta.Close();

        return listaLivros;
    }
        public void InserirLivro(Autor autor, string strLivro, Prateleira prateleira)
        {
            var livro = new Livro();
            livro.Titulo = strLivro;
            livro.Data_Criacao = DateTime.Now;

            autor.AdicionarLivros(livro);
            prateleira.AdicionarLivros(livro);
            _livroDAO.Save(livro);
        }
    // LIVRO
    public void InsereListaLivros(Livro[] listaLivros, string idEncomenda)
    {
        ComunicacaoBD comunicacaoBD = new ComunicacaoBD();

        try{
            foreach (Livro livro in listaLivros) {

                int i = servico.guardaLivro(idEncomenda, livro.ISBN, livro.Titulo, livro.PrecoVenda.Replace(".", ","),
                                            livro.TempoEntrega, livro.NomeFornecedor, livro.Quantidade, comunicacaoBD);
            }
        }catch (SqlException e)
        {
            comunicacaoBD.Transacao.Rollback();
            throw new Exception("Erro a guardar lista de livros: Nao é possivel realizar esta encomenda " + idEncomenda);
        }

        comunicacaoBD.Transacao.Commit();
    }
Beispiel #52
0
    public ArrayList getLivrosPesquisasHistorico(string username, ComunicacaoBD comunicacaoBD)
    {
        Livro livro = null;
        ArrayList listaLivros = new ArrayList();

        string query = "SELECT Livro.idLivro, Livro.ISBN, Livro.titulo, Livro.categoria, Livro.autores, " +
                                " Livro.editora, Livro.anoEdicao, Livro.precoVenda, Livro.precoSemDesconto, Livro.urlImagem, " +
                                " Livro.tempoEntrega, Livro.desconto, Livro.nomeFornecedor, PesquisasHistorico.numero " +
                        " FROM Livro, PesquisasHistorico, Cliente, Utilizador " +
                        " WHERE " +
                            " Utilizador.username = @username" +
                            " AND " +
                            " Utilizador.idUtilizador = Cliente.idCliente " +
                            " AND " +
                            " Cliente.idCliente = PesquisasHistorico.idCliente " +
                            " AND " +
                            " Livro.idLivro  = PesquisasHistorico.idLivro " +
                            " AND " +
                            " Livro.idLivro IN (SELECT PesquisasHistorico.idLivro" +
                                                    " FROM PesquisasHistorico, Cliente, Utilizador " +
                                                    " WHERE " +
                                                        " Utilizador.username = @username" +
                                                        " AND Cliente.idCliente = Utilizador.idUtilizador " +
                                                        " AND Cliente.idCliente = PesquisasHistorico.idCliente )";

        SqlCommand comando = new SqlCommand(query);

        comando.Parameters.Add(new SqlParameter("@username", username));

        SqlDataReader resposta = invocaQueryLeitura(comando, comunicacaoBD);

        while (resposta.Read() == true)
        {
            livro = new Livro();

            livro.IdLivro = (string)resposta["idLivro"];
            livro.ISBN = (string)resposta["ISBN"];
            livro.Titulo = (string)resposta["titulo"];
            livro.Categoria = (string)resposta["categoria"];
            livro.Autores = (string)resposta["autores"];
            livro.Editora = (string)resposta["editora"];
            livro.AnoEdicao = (string)resposta["anoEdicao"];
            livro.PrecoVenda = (string)resposta["PrecoVenda"];
            livro.PrecoSemDesconto = (string)resposta["precoSemDesconto"];
            livro.UrlImagem = (string)resposta["urlImagem"];
            livro.TempoEntrega = (string)resposta["tempoEntrega"];
            livro.Desconto = (bool)resposta["desconto"];
            livro.NomeFornecedor = (string)resposta["nomeFornecedor"];
            livro.NumPesquisas = (int)resposta["numero"];

            listaLivros.Add(livro);
        }

        if (resposta != null)
            resposta.Close();

        return listaLivros;
    }
Beispiel #53
0
    //+++++++++++++++++++++++++++++++ LIVRO ++++++++++++++++++++++++++++++++++++++++++++++++++++++
    public Livro getLivro(string ISBN, ComunicacaoBD comunicacaoBD)
    {
        Livro livro = null;

        string query = "SELECT * " +
                        " FROM Livro " +
                        " WHERE " +
                            " ISBN = @ISBN ";

        SqlCommand comando = new SqlCommand(query);

        comando.Parameters.Add(new SqlParameter("@ISBN", ISBN));

        SqlDataReader resposta = invocaQueryLeitura(comando, comunicacaoBD);

        while (resposta.Read() == true)
        {
            livro = new Livro();

            livro.IdLivro = (string)resposta["idLivro"];
            livro.ISBN = (string)resposta["ISBN"];
            livro.Titulo = (string)resposta["titulo"];
            livro.Categoria = (string)resposta["categoria"];
            livro.Autores = (string)resposta["autores"];
            livro.Editora = (string)resposta["editora"];
            livro.AnoEdicao = (string)resposta["anoEdicao"];
            livro.PrecoVenda = (string)resposta["PrecoVenda"];
            livro.PrecoSemDesconto = (string)resposta["precoSemDesconto"];
            livro.UrlImagem = (string)resposta["urlImagem"];
            livro.TempoEntrega = (string)resposta["tempoEntrega"];
            livro.Desconto = (bool)resposta["desconto"];
            livro.NumPesquisas = (int)resposta["numPesquisas"];
            livro.NomeFornecedor = (string)resposta["nomeFornecedor"];

            //livro.PrecoVenda = livro.PrecoSemDesconto; //fazDesconto(livro.PrecoSemDesconto, livro.Desconto, livro.Top5);
        }

        if (resposta != null)
            resposta.Close();

        return livro;
    }
        public void InserirDados()
        {
            #region Categoria Infantil
            var estante = new Estante();
            estante.Categoria = "Infantil";
            estante.Data_Criacao = DateTime.Now;
            _estanteDAO.Save(estante);

            var prateleirainf = new Prateleira();
            prateleirainf.Classe = "Inf001";
            estante.AdicionarPrateleira(prateleirainf);
            prateleirainf.Data_Criacao = DateTime.Now;
            _prateleiraDAO.Save(prateleirainf);

            prateleirainf = new Prateleira();
            prateleirainf.Classe = "Inf002";
            prateleirainf.Data_Criacao = DateTime.Now;
            estante.AdicionarPrateleira(prateleirainf);
            _prateleiraDAO.Save(prateleirainf);

            var autor = new Autor();
            autor.Nome = "Mario";
            autor.Data_Criacao = DateTime.Now;
            _autorDAO.Save(autor);

            var livro = new Livro();
            livro.Titulo = "Era uma Vez";
            livro.Data_Criacao = DateTime.Now;
            autor.AdicionarLivros(livro);
            prateleirainf.AdicionarLivros(livro);
            _livroDAO.Save(livro);

            livro = new Livro();
            livro.Titulo = "João e Maria";
            livro.Data_Criacao = DateTime.Now;
            autor.AdicionarLivros(livro);
            prateleirainf.AdicionarLivros(livro);
            _livroDAO.Save(livro);

            autor = new Autor();
            autor.Nome = "Luis";
            autor.Data_Criacao = DateTime.Now;
            _autorDAO.Save(autor);

            livro = new Livro();
            livro.Titulo = "João e o pé de feijão";
            livro.Data_Criacao = DateTime.Now;
            autor.AdicionarLivros(livro);
            prateleirainf.AdicionarLivros(livro);
            _livroDAO.Save(livro);

            livro = new Livro();
            livro.Titulo = "Os três porquinhos";
            livro.Data_Criacao = DateTime.Now;
            autor.AdicionarLivros(livro);
            prateleirainf.AdicionarLivros(livro);
            _livroDAO.Save(livro);
            #endregion

            #region Categoria Ação
            var estanteact = new Estante();
            estanteact.Categoria = "Ação";
            estanteact.Data_Criacao = DateTime.Now;
            _estanteDAO.Save(estanteact);

            var prateleiraact = new Prateleira();
            prateleiraact.Classe = "Act001";
            prateleiraact.Data_Criacao = DateTime.Now;
            estanteact.AdicionarPrateleira(prateleiraact);
            _prateleiraDAO.Save(prateleiraact);

            prateleiraact = new Prateleira();
            prateleiraact.Classe = "Act002";
            prateleiraact.Data_Criacao = DateTime.Now;
            estanteact.AdicionarPrateleira(prateleiraact);
            _prateleiraDAO.Save(prateleiraact);

            var autorAct = new Autor();
            autorAct.Nome = "Marcos";
            autorAct.Data_Criacao = DateTime.Now;
            _autorDAO.Save(autorAct);

            var livroact = new Livro();
            livroact.Titulo = "Era uma Vez no Mexico";
            livroact.Data_Criacao = DateTime.Now;
            autorAct.AdicionarLivros(livroact);
            prateleiraact.AdicionarLivros(livroact);
            _livroDAO.Save(livroact);

            livroact = new Livro();
            livroact.Titulo = "Livro de Ação II";
            livroact.Data_Criacao = DateTime.Now;
            autorAct.AdicionarLivros(livroact);
            prateleiraact.AdicionarLivros(livroact);
            _livroDAO.Save(livroact);
            #endregion
        }
Beispiel #55
0
 public void Alterar(Livro livro)
 {
     _context.Entry(livro).State = EntityState.Modified;
 }
Beispiel #56
0
 public void Cadastrar(Livro livro)
 {
     _context.Livros.Add(livro);
 }
 public void AssociarAutorcomLivro(Autor autor, Livro livro)
 {
     autor.AdicionarLivros(livro);
     _livroDAO.Save(livro);
 }
Beispiel #58
0
        private async void btnGravar_Clicked(object sender, EventArgs e)
        {
            var emprestimoAGravar = BindingContext as Emprestimo;

            //Verifica se a data de empréstimo selecionada não está no "futuro"
            if (emprestimoAGravar.DataEmp > emprestimoAGravar.Data.AddSeconds(1))
            {
                await DisplayAlert("Operação inválida!", "Data inválida.", "Ok");
            }
            else
            {
                //Verifica se é um novo empréstimo ou uma edição
                if (emprestimoAGravar.uidEmprestimo == "")
                {
                    //Verifica se algum picker foi deixado vazio
                    if (pickerCliente.SelectedItem == null || pickerLivro.SelectedItem == null || pickerFuncionario.SelectedItem == null)
                    {
                        await DisplayAlert("Operação inválida!", "Todos os campos devem ser preenchidos.", "Ok");
                    }
                    else
                    {
                        //Cria um objeto Cliente com as informações de objeto contidas no picker e extrai o Nome e Guid
                        Cliente c = pickerCliente.SelectedItem as Cliente;
                        emprestimoAGravar.NomeCliente = c.Nome;
                        emprestimoAGravar.GuidCliente = c.GuidPessoa;

                        //Cria um objeto Funcionário com as informações de objeto contidas no picker e extrai o Nome e Guid
                        Funcionario f = pickerFuncionario.SelectedItem as Funcionario;
                        emprestimoAGravar.NomeFuncionario = f.Nome;
                        emprestimoAGravar.GuidFuncionario = f.GuidPessoa;

                        //Cria um objeto Livro com as informações de objeto contidas no picker e extrai o Nome e Guid
                        Livro l = pickerLivro.SelectedItem as Livro;
                        emprestimoAGravar.NomeLivro = l.Nome;
                        emprestimoAGravar.GuidLivro = l.GuidLivro;

                        emprestimoAGravar.Color = "#4bb543";


                        //Verifica se o Cliente se encontra associoado à um empréstimo em atraso
                        var emps = await App.Database.emprestimoH.GetEmprestimoByClienteFKAsync(emprestimoAGravar.GuidCliente);

                        var atraso = 0;

                        if (emps.Count > 0)
                        {
                            foreach (var emp in emps)
                            {
                                if (emp.Color == "#f32013")
                                {
                                    atraso++;
                                }
                            }
                        }

                        if (atraso > 0)
                        {
                            if (atraso == 1)
                            {
                                await DisplayAlert("Empréstimo Bloqueado", "Este cliente se encontra associado à " + atraso + " empréstimo em atraso!", "Ok");
                            }
                            else
                            {
                                await DisplayAlert("Empréstimo Bloqueado", "Este cliente se encontra associado à " + atraso + " empréstimos em atraso!", "Ok");
                            }
                        }
                        else
                        {
                            //Faz update dos campos "Data de Empréstimo", "Estado" e "Cor" na tabela Livro de acordo com o Guid
                            await App.Database.livroH.UpdateDataEmp(emprestimoAGravar.DataEmp, 0, "#f32013", emprestimoAGravar.GuidLivro);

                            await App.Database.emprestimoH.SaveEmprestimoAsync(emprestimoAGravar);

                            await Navigation.PopAsync();
                        }
                    }
                }
                else
                {
                    //Verifica se o Cliente foi alterado
                    if (pickerCliente.SelectedItem != null)
                    {
                        Cliente c = pickerCliente.SelectedItem as Cliente;
                        emprestimoAGravar.NomeCliente = c.Nome;
                        emprestimoAGravar.GuidCliente = c.GuidPessoa;
                    }

                    //Verifica se o Livro foi alterado
                    if (pickerLivro.SelectedItem != null)
                    {
                        Livro l = pickerLivro.SelectedItem as Livro;
                        emprestimoAGravar.NomeLivro = l.Nome;
                        emprestimoAGravar.GuidLivro = l.GuidLivro;
                    }

                    //Verifica se o Funcionario foi alterado
                    if (pickerFuncionario.SelectedItem != null)
                    {
                        Funcionario f = pickerFuncionario.SelectedItem as Funcionario;
                        emprestimoAGravar.NomeFuncionario = f.Nome;
                        emprestimoAGravar.GuidFuncionario = f.GuidPessoa;
                    }


                    //Verifica se o Cliente se encontra associoado à um empréstimo em atraso
                    var emps = await App.Database.emprestimoH.GetEmprestimoByClienteFKAsync(emprestimoAGravar.GuidCliente);

                    var atraso = 0;

                    if (emps.Count > 1)
                    {
                        foreach (var emp in emps)
                        {
                            if (emp.Color == "#f32013")
                            {
                                atraso++;
                            }
                        }
                    }

                    if (atraso > 0)
                    {
                        if (atraso > 1)
                        {
                            await DisplayAlert("Empréstimo Bloqueado", "Este cliente se encontra associado à " + atraso + " empréstimo em atraso!", "Ok");
                        }
                        else
                        {
                            await DisplayAlert("Empréstimo Bloqueado", "Este cliente se encontra associado à " + atraso + " empréstimos em atraso!", "Ok");
                        }
                    }
                    else
                    {
                        //Verifica se o Livro foi devolvido e altera o estado na tabela Livro
                        if (emprestimoAGravar.Estado == false)
                        {
                            await App.Database.livroH.UpdateDataEmp(DateTime.UtcNow, 1, "#4bb543", emprestimoAGravar.GuidLivro);
                        }
                        else
                        {
                            await App.Database.livroH.UpdateDataEmp(emprestimoAGravar.DataEmp, 0, "#f32013", emprestimoAGravar.GuidLivro);
                        }

                        await App.Database.emprestimoH.SaveEmprestimoAsync(emprestimoAGravar);

                        await Navigation.PopAsync();
                    }
                }
            }
        }