private void livroCb_TextChanged(object sender, EventArgs e)
        {
            string livroTxt = livroCb.Text;

            if (livroTxt.Length > 3)
            {
                List <Livro.Model.Livro> livros = livroDao.getLivroByNomeOrIsbnOrCategoria(livroTxt, null);
                if (livros != null && livros.Count > 0)
                {
                    addBtn.Enabled     = true;
                    livroCb.DataSource = livros;
                    var sText = livroCb.Items[0].ToString();
                    livroCb.SelectionStart  = livroTxt.Length;
                    livroCb.SelectionLength = sText.Length - livroTxt.Length;
                    livroCb.DroppedDown     = true;

                    livro = (Livro.Model.Livro)livroCb.SelectedItem;
                    if (livro.quantidade < 1)
                    {
                        MessageBox.Show("A quantidade do livro " + livro.nome + " em estoque não é suficiente para emprestimo");
                        livro          = null;
                        addBtn.Enabled = false;
                    }
                    return;
                }
                else
                {
                    livro                  = null;
                    addBtn.Enabled         = false;
                    livroCb.DroppedDown    = false;
                    livroCb.SelectionStart = livroTxt.Length;
                }
            }
        }
        private void setData(Model.Livro livro)
        {
            enableComplete     = false;
            this.livro         = livro;
            nomeTb.Text        = livro.nome;
            isbnTb.Text        = livro.isbn;
            edicaoTb.Text      = livro.edicao;
            quantidadeNm.Value = livro.quantidade;
            object[] autores = new object[1] {
                livro.autor
            };

            autorCb.DataSource   = autores;
            autorCb.SelectedItem = livro.autor;
            if (livro.editora != null)
            {
                object[] editoras = new object[1] {
                    livro.editora
                };
                editoraCb.DataSource   = editoras;
                editoraCb.SelectedItem = livro.editora;
            }
            if (livro.categoria != null)
            {
                object[] categorias = new object[1] {
                    livro.categoria
                };
                categoriaCb.DataSource   = categorias;
                categoriaCb.SelectedItem = livro.categoria;
            }
            enableComplete = true;
        }
        private void enviarBtn_Click(object sender, EventArgs e)
        {
            if (validateForm())
            {
                Editora.Model.Editora     editora   = null;
                Categoria.Model.Categoria categoria = null;
                Pessoa.Model.Autor        autor     = (Pessoa.Model.Autor)autorCb.SelectedItem;

                if (categoriaCb.SelectedItem != null)
                {
                    categoria = (Categoria.Model.Categoria)categoriaCb.SelectedItem;
                }
                if (editoraCb.SelectedItem != null)
                {
                    editora = (Editora.Model.Editora)editoraCb.SelectedItem;
                }

                if (opt == App.CrudOpt.CADASTRAR)
                {
                    livro            = new Model.Livro();
                    livro.nome       = nomeTb.Text;
                    livro.isbn       = isbnTb.Text;
                    livro.edicao     = edicaoTb.Text;
                    livro.autor      = autor;
                    livro.editora    = editora;
                    livro.categoria  = categoria;
                    livro.quantidade = (int)quantidadeNm.Value;
                    livroDao.add(livro);
                }
                else
                {
                    livro.nome       = nomeTb.Text;
                    livro.isbn       = isbnTb.Text;
                    livro.edicao     = edicaoTb.Text;
                    livro.autor      = autor;
                    livro.editora    = editora;
                    livro.categoria  = categoria;
                    livro.quantidade = (int)quantidadeNm.Value;
                    livroDao.update(livro);
                }
                livroDao.saveChanges();
                if (Owner != null)
                {
                    LivroFrame lf = (LivroFrame)Owner;
                    lf.clean();
                }
                MessageBox.Show("Salvo com sucesso !");
                this.Close();
            }
        }