private void AtualizarGrid()
        {
            ClienteNegocios clienteNegocios = new ClienteNegocios();

            string nomeCliente = textBoxPesquisa.Text;

            ClienteColecao clienteColecao = new ClienteColecao();
            clienteColecao = clienteNegocios.ConsultarPorNome(nomeCliente);

            dataGridViewPrincipal.DataSource = null;
            dataGridViewPrincipal.DataSource = clienteColecao;
            dataGridViewPrincipal.Update();
            dataGridViewPrincipal.Refresh();
        }
        private void AtualizarGrid()
        {
            ClienteNegocios clienteNegocios = new ClienteNegocios();

            ClienteColecao clienteColecao = new ClienteColecao();

            clienteColecao = clienteNegocios.ConsultarPorNome(textBoxPesquisa.Text);

            dataGridViewPrincipal.DataSource = null; // Limpa a grid para que possa ser colocados dados novos.

            dataGridViewPrincipal.DataSource = clienteColecao;//fonte de dados vai ser a coleção de clientes

            dataGridViewPrincipal.Update(); //Atualiza os dados
            dataGridViewPrincipal.Refresh(); // Atualizar  grid
        }
        private void buttonExcluir_Click(object sender, EventArgs e)
        {
            //Verificar se tem algum registro selecionado
            if (dataGridViewPrincipal.SelectedRows.Count==0) {

                MessageBox.Show("Nenhum Cliente selecionado.");
                return;
            }

            //Prguntar se realmente quer excluir
            DialogResult resultado = MessageBox.Show("Tem certeza","Pergunta",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
            if (resultado == DialogResult.No) {
                return;

            }
            //Pegar o cliente selecionado no grid
            Cliente clienteSelecionado = (dataGridViewPrincipal.SelectedRows[0].DataBoundItem as Cliente);

            //Instância a regra de negocio
            //Criando uma tela nova
            ClienteNegocios clienteNegocios = new ClienteNegocios();

            //Chamar o metodo para excluir
               string retorno=  clienteNegocios.Excluir(clienteSelecionado);

            //Verifica se excluiu com sucesso

            //Se o retorno for número é porque deu certo, senão ele vai exibir o erro
            try
            {
                //convertendo.
                int idCliente = Convert.ToInt32(retorno);
                MessageBox.Show("Cliente excluido com sucesso.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                AtualizarGrid();

            }
            catch
            {

                MessageBox.Show("Não foi possivel excluir. Detalhes: " + retorno,"Erro",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }
        private void buttonSalvar_Click(object sender, EventArgs e)
        {
            //Verificar se é inserção ou alteração

            if (acaoNaTelaSelecionada == AcaoNaTela.Inserir)
            {
                Cliente cliente = new Cliente();
                cliente.Nome = textBoxNome.Text;
                cliente.DataNascimento = dateDataNascimento.Value;
                if (radioSexoMasculino.Checked == true)
                   cliente.Sexo = true;
                else
                    cliente.Sexo = false;

                cliente.LimiteCompra = Convert.ToDecimal(textBoxLimiteCompra.Text);

                ClienteNegocios clienteNegocios = new ClienteNegocios();
              string retorno =  clienteNegocios.Inserir(cliente);

                //Tenta converter para inteiroshe is your daughter
                //Se der tudo certo é porque devolveu o ´codigo do cliente
                //Se der errado tem a mensagem de erro

                try
                {
                    int idCliente = Convert.ToInt32(retorno);

                    MessageBox.Show("Cliente inserido com sucesso. Cóigo: " + idCliente.ToString());
                    this.DialogResult = DialogResult.Yes;
                }
                catch
                {
                    MessageBox.Show("Não foi possivel Inserir. Detalhes: " + retorno,"Erro", MessageBoxButtons.OK,MessageBoxIcon.Error);
                    this.DialogResult = DialogResult.No;

                }

            }
            else if (acaoNaTelaSelecionada == AcaoNaTela.Alterar)
            {
                //Crio um cliente
                Cliente cliente = new Cliente();

                //Colo os campos da tela no objeto cliente, e envio para alter no banco
                cliente.IdCliente = Convert.ToInt32(textBoxCodigo.Text);
                cliente.Nome = textBoxNome.Text;
                cliente.DataNascimento = dateDataNascimento.Value;
                if (radioSexoMasculino.Checked == true)
                    cliente.Sexo = true;
                else
                    cliente.Sexo = false;

                cliente.LimiteCompra = Convert.ToDecimal(textBoxLimiteCompra.Text);

                ClienteNegocios clienteNegocios = new ClienteNegocios();
                string retorno = clienteNegocios.Alterar(cliente);

                //Tenta converter para inteiroshe is your daughter
                //Se der tudo certo é porque devolveu o ´codigo do cliente
                //Se der errado tem a mensagem de erro

                try
                {
                    int idCliente = Convert.ToInt32(retorno);

                    MessageBox.Show("Cliente Alterado com sucesso. Código: " + idCliente.ToString());
                    this.DialogResult = DialogResult.Yes;
                }
                catch
                {
                    MessageBox.Show("Não foi possivel Alterar. Detalhes: " + retorno, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.DialogResult = DialogResult.No;

                }

            }
        }
        private void buttonExcluir_Click(object sender, EventArgs e)
        {
            if (dataGridViewPrincipal.SelectedRows.Count == 0)
            {
                MessageBox.Show("Não há registro selecionado.");
                return;
            }
            DialogResult resultado = MessageBox.Show("Deseja realmente excluir o registro?",
                                                     "Atenção",
                                                     MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (resultado == DialogResult.No)
            {
                return;
            }

            // Pega o Cliente Selecionado no Grid.
            Cliente clienteSelecionado = (dataGridViewPrincipal.SelectedRows[0].DataBoundItem as Cliente);

            //Instanciar a Regra de Negócio
            ClienteNegocios clienteNegocios = new ClienteNegocios();

            //Chama o método excluir.
            string retorno = clienteNegocios.Excluir(clienteSelecionado);

            // Se o retorno for um número é sinal que a exclusão foi bem sucedida.
            try
            {
                int idCliente = Convert.ToInt32(retorno);
                MessageBox.Show("Cliente excluído com sucesso.", "Cliente", MessageBoxButtons.OK, MessageBoxIcon.Information);
                AtualizarGrid();
            }
            catch
            {
                MessageBox.Show("Não foi possível excluir o cliente. Erro: " + retorno, "Cliente",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }