private void btnProcurar_Click(object sender, EventArgs e)
        {
            if (cmbPesquisa.SelectedIndex == 0)
            {
                CLivro.CLivroClient oProxy = new CLivro.CLivroClient();
                oProxy.Open();
                dtgLivros.DataSource = oProxy.ListaTodosLivros();
            }
            else if (cmbPesquisa.SelectedIndex == 1)
            {
                int var = Convert.ToInt32(txtPesquisa.Text);
                CLivro.CLivroClient oProxy = new CLivro.CLivroClient();
                oProxy.Open();

                if (oProxy.SelecionarID(var) != null)
                {
                    List<LIVRO> oLivro = new List<LIVRO>();
                    oLivro.Add(oProxy.SelecionarID(var));
                    dtgLivros.DataSource = oLivro;
                    dtgLivros.Refresh();
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (cmbPesquisa.SelectedIndex == 2)
            {

                CLivro.CLivroClient oProxy = new CLivro.CLivroClient();
                oProxy.Open();

                if (oProxy.SelecionarTitulo(txtPesquisa.Text) != null)
                {
                    List<LIVRO> oLivro = new List<LIVRO>();
                    oLivro.Add(oProxy.SelecionarTitulo(txtPesquisa.Text));

                    dtgLivros.DataSource = oLivro;
                    dtgLivros.Refresh();
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void btnProcurarLivro_Click(object sender, EventArgs e)
        {
            if (cmbPesquisaLivro.SelectedIndex == 0)
            {
                int var2 = Convert.ToInt32(txtProcurarLivro.Text);

                CLivro.CLivroClient oProxy2 = new CLivro.CLivroClient();
                oProxy2.Open();

                if (oProxy2.SelecionarID(var2) != null)
                {
                    LIVRO oLivro = oProxy2.SelecionarID(var2);

                    txtIDLivro.Text = Convert.ToString(oLivro.ID_LIVRO);
                    txtTitulo.Text  = oLivro.TITULO;
                    txtVolume.Text  = Convert.ToString(oLivro.VOLUME);


                    AUTOR oAutor1 = new AUTOR();

                    oAutor1 = oLivro.AUTOR.First();

                    txtAutor1.Text = oAutor1.NOME;

                    /*
                     * try
                     * {
                     *  AUTOR oAutor2 = new AUTOR();
                     *
                     *  oAutor2 = oLivro.AUTOR.ElementAtOrDefault<AUTOR>(1);
                     *
                     *  txtAutor1.Text = oAutor2.NOME;
                     * }
                     * catch
                     * {
                     *
                     * }*/

                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;


                    /*GENERO oGenero = new GENERO();
                     *
                     * oGenero = oLivro.GENERO.ElementAtOrDefault<GENERO>(0);
                     *
                     * txtGenero.Text = oGenero.DESCRICAO;*/

                    try
                    {
                        txtEditora.Text = oLivro.EDITORA.NOME;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (cmbPesquisa.SelectedIndex == 1)
            {
                CLivro.CLivroClient oProxy2 = new CLivro.CLivroClient();
                oProxy2.Open();

                if (oProxy2.SelecionarTitulo(txtProcurarLivro.Text) != null)
                {
                    LIVRO oLivro = oProxy2.SelecionarTitulo(txtProcurarLivro.Text);

                    txtIDLivro.Text = Convert.ToString(oLivro.ID_LIVRO);
                    txtTitulo.Text  = oLivro.TITULO;
                    txtVolume.Text  = Convert.ToString(oLivro.VOLUME);

                    AUTOR oAutor1 = new AUTOR();

                    oAutor1 = oLivro.AUTOR.ElementAtOrDefault <AUTOR>(0);

                    txtAutor1.Text = oAutor1.NOME;

                    /*
                     * try
                     * {
                     *  AUTOR oAutor2 = new AUTOR();
                     *
                     *  oAutor2 = oLivro.AUTOR.ElementAtOrDefault<AUTOR>(1);
                     *
                     *  txtAutor1.Text = oAutor2.NOME;
                     * }
                     * catch
                     * {
                     *
                     * }*/

                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;


                    GENERO oGenero = new GENERO();

                    oGenero = oLivro.GENERO.ElementAtOrDefault <GENERO>(0);

                    txtGenero.Text = oGenero.DESCRICAO;

                    txtEditora.Text = oLivro.EDITORA.NOME;
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (VerificaControles())
            {
                LIVRO oLivro = new LIVRO();

                oLivro.TITULO = txtTitulo.Text;
                oLivro.VOLUME = Convert.ToInt32(txtVolume.Text);
                oLivro.DATA_PUBLIC = dtp_Publicacao.Value;
                oLivro.QTD_EXMPLARES = Convert.ToInt32(txtQuantidade.Text);
                oLivro.SUMARIO = txtSumario.Text;
                oLivro.QTD_DISP_EMPR = Convert.ToInt32(txtQuantidade.Text);
                oLivro.ID_EDITORA = cmbEditora.SelectedIndex;

                CAutor.CAutorClient oProxy = new CAutor.CAutorClient();
                oProxy.Open();

                AUTOR xAutor = oProxy.SelecionarNome(cmbAutor1.Text);
                AUTOR xAutor2 = oProxy.SelecionarNome(cmbAutor2.Text);

                oLivro.AUTOR.Add(xAutor);
                oLivro.AUTOR.Add(xAutor2);

                oProxy.Close();

                CEditora.CEditoraClient oProxy2 = new CEditora.CEditoraClient();
                oProxy2.Open();

                EDITORA xEditora = oProxy2.SelecionarNome(cmbEditora.Text);
                oLivro.EDITORA = xEditora;

                oProxy2.Close();

                CGenero.CGeneroClient oProxy3 = new CGenero.CGeneroClient();
                oProxy3.Open();

                GENERO xGenero = oProxy3.SelecionarDescricao(cmbGenero1.Text);
                oLivro.GENERO.Add(xGenero);

                oProxy3.Close();

                //oLivro.QTD_DISP_EMPR = ??????????
                //oLivro.ID_EDITORA = cmbEditora.SelectedIndex;
                //oLivro.GENERO =
                //oLivro.Emprestimo = ???????????
                //oLivro.RESERVA = ???????

                CLivro.CLivroClient oProxy4 = new CLivro.CLivroClient();
                oProxy4.Open();

                if (var == 0)
                {

                    try
                    {
                        if (oProxy4.Cadastrar(oLivro))
                        {

                            MessageBox.Show("Cadastro realizado com sucesso!", "Confirmação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            LimpaCampos();

                        }
                        else
                        {
                            if (MessageBox.Show("Livro existente! Deseja carregar os dados do livro?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                string var = oLivro.TITULO;

                                btnSalvar.Enabled = false;

                                btnDeletar.Enabled = true;

                                btnAlterar.Enabled = true;

                                LIVRO xLivro = oProxy4.SelecionarTitulo(var);

                                int var2 = xLivro.ID_LIVRO;

                                txtTitulo.Text = xLivro.TITULO;
                                //???????? = oLivro.QTD_DISP_EMPR;
                                txtQuantidade.Text = xLivro.QTD_EXMPLARES.ToString();
                                txtSumario.Text = xLivro.SUMARIO;
                                dtp_Publicacao.Value = xLivro.DATA_PUBLIC;
                                cmbEditora.Text = xLivro.EDITORA.NOME;
                                cmbAutor1.Text = xLivro.AUTOR.ElementAt(0).NOME;
                                cmbAutor2.Text = xLivro.AUTOR.ElementAt(1).NOME;
                                cmbGenero1.Text = xLivro.GENERO.ElementAt(0).DESCRICAO;
                                //???????? = .GENERO;
                                //???????? = oLivro.Emprestimo;
                                //???????? = oLivro.RESERVA;
                                txtID.Text = Convert.ToString(var2);

                                DesabilitaCampos();
                            }
                            else
                            {
                                LimpaCampos();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                }
                else
                {

                    try
                    {
                        if (oProxy4.Alterar(oLivro))
                        {
                            MessageBox.Show("Alteração realizada com sucesso!", "Confirmação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            LimpaCampos();

                            btnAlterar.Enabled = false;

                            HabilitaCampos();

                            var = 0;

                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                }
            }
            else
            {
                MessageBox.Show("Preencha todos os campos!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        private void btnProcurar_Click(object sender, EventArgs e)
        {
            if (cmbPesquisa.SelectedIndex == 0)
            {

                CLivro.CLivroClient oProxy = new CLivro.CLivroClient();
                oProxy.Open();

                if (oProxy.SelecionarTitulo(txtPesquisa.Text) != null)
                {
                    LIVRO oLivro = oProxy.SelecionarTitulo(txtPesquisa.Text);

                    txtTitulo.Text = oLivro.TITULO;
                    //???????? = oLivro.QTD_DISP_EMPR;
                    txtQuantidade.Text = oLivro.QTD_EXMPLARES.ToString();
                    txtSumario.Text = oLivro.SUMARIO;
                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;
                    cmbEditora.SelectedIndex = oLivro.ID_EDITORA;
                    txtVolume.Text = oLivro.VOLUME.ToString();
                    //???????? = .GENERO;
                    //???????? = oLivro.Emprestimo;
                    //???????? = oLivro.RESERVA;
                    txtID.Text = oLivro.ID_LIVRO.ToString();

                    DesabilitaCampos();

                    btnAlterar.Enabled = true;

                    btnDeletar.Enabled = true;

                    btnSalvar.Enabled = false;
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {

                CLivro.CLivroClient oProxy = new CLivro.CLivroClient();
                oProxy.Open();

                int var = Convert.ToInt32(txtPesquisa.Text);

                if (oProxy.SelecionarID(var) != null)
                {
                    LIVRO oLivro = oProxy.SelecionarID(var);

                    txtTitulo.Text = oLivro.TITULO;
                    //???????? = oLivro.QTD_DISP_EMPR;
                    txtQuantidade.Text = oLivro.QTD_EXMPLARES.ToString();
                    txtSumario.Text = oLivro.SUMARIO;
                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;
                    cmbEditora.SelectedIndex = oLivro.ID_EDITORA;
                    txtVolume.Text = oLivro.VOLUME.ToString();
                    //???????? = .GENERO;
                    //???????? = oLivro.Emprestimo;
                    //???????? = oLivro.RESERVA;
                    txtID.Text = oLivro.ID_LIVRO.ToString();

                    DesabilitaCampos();

                    btnAlterar.Enabled = true;

                    btnDeletar.Enabled = true;

                    btnSalvar.Enabled = false;
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void btnProcurarLivro_Click(object sender, EventArgs e)
        {
            if (cmbPesquisaLivro.SelectedIndex == 0)
            {
                int var2 = Convert.ToInt32(txtProcurarLivro.Text);

                CLivro.CLivroClient oProxy2 = new CLivro.CLivroClient();
                oProxy2.Open();

                if (oProxy2.SelecionarID(var2) != null)
                {
                    LIVRO oLivro = oProxy2.SelecionarID(var2);

                    txtIDLivro.Text = Convert.ToString(oLivro.ID_LIVRO);
                    txtTitulo.Text = oLivro.TITULO;
                    txtVolume.Text = Convert.ToString(oLivro.VOLUME);

                    AUTOR oAutor1 = new AUTOR();

                    oAutor1 = oLivro.AUTOR.First();

                    txtAutor1.Text = oAutor1.NOME;

                    /*
                    try
                    {
                        AUTOR oAutor2 = new AUTOR();

                        oAutor2 = oLivro.AUTOR.ElementAtOrDefault<AUTOR>(1);

                        txtAutor1.Text = oAutor2.NOME;
                    }
                    catch
                    {

                    }*/

                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;

                    /*GENERO oGenero = new GENERO();

                    oGenero = oLivro.GENERO.ElementAtOrDefault<GENERO>(0);

                    txtGenero.Text = oGenero.DESCRICAO;*/

                    try
                    {
                        txtEditora.Text = oLivro.EDITORA.NOME;

                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }
            else if (cmbPesquisa.SelectedIndex == 1)
            {
                CLivro.CLivroClient oProxy2 = new CLivro.CLivroClient();
                oProxy2.Open();

                if (oProxy2.SelecionarTitulo(txtProcurarLivro.Text) != null)
                {
                    LIVRO oLivro = oProxy2.SelecionarTitulo(txtProcurarLivro.Text);

                    txtIDLivro.Text = Convert.ToString(oLivro.ID_LIVRO);
                    txtTitulo.Text = oLivro.TITULO;
                    txtVolume.Text = Convert.ToString(oLivro.VOLUME);

                    AUTOR oAutor1 = new AUTOR();

                    oAutor1 = oLivro.AUTOR.ElementAtOrDefault<AUTOR>(0);

                    txtAutor1.Text = oAutor1.NOME;

                    /*
                    try
                    {
                        AUTOR oAutor2 = new AUTOR();

                        oAutor2 = oLivro.AUTOR.ElementAtOrDefault<AUTOR>(1);

                        txtAutor1.Text = oAutor2.NOME;
                    }
                    catch
                    {

                    }*/

                    dtp_Publicacao.Value = oLivro.DATA_PUBLIC;

                    GENERO oGenero = new GENERO();

                    oGenero = oLivro.GENERO.ElementAtOrDefault<GENERO>(0);

                    txtGenero.Text = oGenero.DESCRICAO;

                    txtEditora.Text = oLivro.EDITORA.NOME;
                }
                else
                {
                    MessageBox.Show("Livro não encontrado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }