private void AtualizaHistorico()
        {
            ttbCodigo.Clear();
            btnRegistrar.Text = "Registrar";
            rbtTrans.Enabled = true;

            if (cbbDestino.SelectedIndex != -1)
            {
                ggbHistorico.Enabled = true;

                MovContas mov = new MovContas(new BancoM());
                if (rbtUltimosLan.Checked)
                {
                    dgvHistorico.DataSource = mov.UltimosLancamentos(int.Parse(cbbDestino.SelectedValue.ToString()));
                }
                else if (rbtPeriodo.Checked)
                {
                    dgvHistorico.DataSource = mov.porPeriodo(int.Parse(cbbDestino.SelectedValue.ToString()), dtpIni.Value.AddDays(-1), dtpFim.Value);
                }
                else
                {
                    char mov_tipo = 'X';
                    if(cbbTipo.SelectedIndex != -1)
                        char.TryParse(cbbTipo.SelectedValue.ToString(),out mov_tipo);
                    dgvHistorico.DataSource = mov.porTipo(int.Parse(cbbDestino.SelectedValue.ToString()),mov_tipo);
                }
            }
            else
            {
                ggbHistorico.Enabled = false;
                MovContas mov = new MovContas(new BancoM());
                dgvHistorico.DataSource = mov.UltimosLancamentos(0);
            }
        }
        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (ttbCodigo.Text.Trim() == "")
            {
                MessageBox.Show("Selecione um lançamento");
                dgvHistorico.Focus();
            }
            else
            {
                MovContas mov = new MovContas(new BancoM());
                if(mov.excluir(int.Parse(ttbCodigo.Text)))
                    MessageBox.Show("Lançamento excluido com sucesso");
                else
                    MessageBox.Show("Erro ao excluir o lançamento");

                AtualizaHistorico();
                LimparLacamento();
            }
        }
        private void btnLocalizar_Click(object sender, EventArgs e)
        {
            MovContas mov = new MovContas(new BancoM());

            if (rbtExibirTodos.Checked)
            {
                dgvHistorico.DataSource = mov.exibirTodos();
            }
            else if (rbtCredito.Checked)
            {
                dgvHistorico.DataSource = mov.porTipo('C');
            }
            else if (rbtDebito.Checked)
            {
                dgvHistorico.DataSource = mov.porTipo('D');
            }
            else if (rbtPeriodo.Checked)
            {
                dgvHistorico.DataSource = mov.porPeriodo(dtpIni.Value.AddDays(-1), dtpFim.Value);
            }
        }
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            if (cbbDestino.SelectedIndex == -1)
            {
                MessageBox.Show("Selecione uma conta destino");
                cbbDestino.Focus();
            }
            else if (!flag)
            {
                MessageBox.Show("Insira o valor do lançamento");
                mtbValor.Focus();
            }
            else if (rbtTrans.Checked && cbbOrigem.SelectedIndex == -1)
            {
                MessageBox.Show("Selecione uma conta origem");
                cbbOrigem.Focus();
            }
            else if (rbtTrans.Checked && cbbOrigem.SelectedValue.ToString() == cbbDestino.SelectedValue.ToString())
            {
                MessageBox.Show("Selecione uma conta origem diferente da conta destino");
                cbbOrigem.SelectedIndex = -1;
            }
            else
            {
                char tipo = 'C';

                if (rbtDebito.Checked)
                    tipo = 'D';

                if (ttbCodigo.Text.Trim() == "") //cadastrar
                {
                    MovContas mov = new MovContas(new BancoM());

                    if (rbtTrans.Checked)
                    {
                        if (mov.registrar(dtpData.Value, float.Parse(mtbValor.Text.Substring(2).Trim()), 'C', int.Parse(cbbDestino.SelectedValue.ToString()))
                        && mov.registrar(dtpData.Value, float.Parse(mtbValor.Text.Substring(2).Trim()), 'D', int.Parse(cbbOrigem.SelectedValue.ToString())))
                            MessageBox.Show("Transferencia realizada com sucesso");
                        else
                            MessageBox.Show("Erro ao transferir");
                    }
                    else
                    {
                        if (mov.registrar(dtpData.Value, float.Parse(mtbValor.Text.Substring(2).Trim()), tipo,
                                                            int.Parse(cbbDestino.SelectedValue.ToString())))
                            MessageBox.Show("Lançamento registrado com sucesso");
                        else
                            MessageBox.Show("Erro ao registrar o lançamento");

                    }
                }
                else
                {
                    MovContas mov = new MovContas(new BancoM());

                    if (mov.alterar(int.Parse(ttbCodigo.Text.ToString()),dtpData.Value, float.Parse(mtbValor.Text.Substring(2).Trim()), tipo,
                                                            int.Parse(cbbDestino.SelectedValue.ToString())))
                        MessageBox.Show("Lançamento alterado com sucesso");
                    else
                        MessageBox.Show("Erro ao alterar o lançamento");
                }

                flag = false;
                LimparLacamento();
                AtualizaHistorico();
            }
        }