public void ExcutaOpeçao(Caixa caixa, ArrayList Cad, Registro registro)
        {
            double  totalCredito, totalDebito;
            Debito  totalD = new Debito();
            Credito totalC = new Credito();
            int     dia = 0, mes = 0, ano = 0;

            ArrayList Temp = new ArrayList();

            if (Cad.Count > 0)
            {
                if (caixa.checkMes.Checked)
                {
                    string textoMes = "";
                    switch (caixa.comboMes.SelectedIndex)
                    {
                    case 0:
                        mes      = 01;
                        textoMes = "Janeiro";
                        break;

                    case 1:
                        mes      = 02;
                        textoMes = "Fevereiro";
                        break;

                    case 2:
                        mes      = 03;
                        textoMes = "Março";
                        break;

                    case 3:
                        mes      = 04;
                        textoMes = "Abril";
                        break;

                    case 4:
                        mes      = 05;
                        textoMes = "Maio";
                        break;

                    case 5:
                        mes      = 06;
                        textoMes = "Junho";
                        break;

                    case 6:
                        mes      = 07;
                        textoMes = "Julho";
                        break;

                    case 7:
                        mes      = 08;
                        textoMes = "Agosto";
                        break;

                    case 8:
                        mes      = 09;
                        textoMes = "Setembro";
                        break;

                    case 9:
                        mes      = 10;
                        textoMes = "Outubro";
                        break;

                    case 10:
                        mes      = 11;
                        textoMes = "Novembro";
                        break;

                    case 11:
                        mes      = 12;
                        textoMes = "Dezembro";
                        break;
                    }
                    for (int i = 0; i < Cad.Count; i++)
                    {
                        if (((Movimentaçao)Cad[i]).Data.Month == mes && (Cad[i]).GetType() == typeof(Debito))
                        {
                            Temp.Add(Cad[i]);
                        }
                    }

                    totalDebito = totalD.Totalizaçao(Temp);
                    Temp.Clear();
                    for (int i = 0; i < Cad.Count; i++)
                    {
                        if (((Movimentaçao)Cad[i]).Data.Month == mes && (Cad[i]).GetType() == typeof(Credito))
                        {
                            Temp.Add(Cad[i]);
                        }
                    }
                    caixa.txtTotal.Visible = true;
                    totalCredito           = totalC.Totalizaçao(Temp);

                    caixa.lblMensagem.Visible = true;
                    caixa.lblMensagem.Text    = "O saldo em " + textoMes + " é...";
                    caixa.txtTotal.Enabled    = true;
                    caixa.txtTotal.Text       = "R$ " + (totalDebito - totalCredito).ToString();
                    caixa.txtTotal.Enabled    = false;
                }
                else
                if (caixa.checkPeriodo.Checked)
                {
                    DateTime Inicial = caixa.dtpInicial.Value;
                    DateTime Final   = caixa.dtpFinal.Value;
                    for (int i = 0; i < Cad.Count; i++)
                    {
                        if (Cad[i].GetType() == typeof(Debito))
                        {
                            if (((Movimentaçao)Cad[i]).Data >= Inicial && ((Movimentaçao)Cad[i]).Data <= Final)
                            {
                                Temp.Add(Cad[i]);
                            }
                        }
                    }
                    totalDebito = totalD.Totalizaçao(Temp);
                    for (int i = 0; i < Cad.Count; i++)
                    {
                        if (Cad[i].GetType() == typeof(Credito))
                        {
                            if (((Movimentaçao)Cad[i]).Data >= Inicial && ((Movimentaçao)Cad[i]).Data <= Final)
                            {
                                Temp.Add(Cad[i]);
                            }
                        }
                    }
                    totalCredito = totalC.Totalizaçao(Temp);



                    caixa.txtTotal.Visible    = true;
                    caixa.lblMensagem.Visible = true;
                    caixa.lblMensagem.Text    = "O Saldo entre " + caixa.dtpInicial.Value.ToString().Substring(0, 10) +
                                                " e " + caixa.dtpFinal.Value.ToString().Substring(0, 10) + " é ...";

                    caixa.txtTotal.Enabled = true;
                    caixa.txtTotal.Text    = "R$ " + (totalDebito - totalCredito).ToString();
                    caixa.txtTotal.Enabled = false;
                }
            }
        }
        public void ExcutaOpeçao(Caixa caixa, ArrayList Cad, Registro registro)
        {
            if (registro.txtValor.Text != "" && registro.txtDescriçao.Text != "" && registro.comboNatureza.SelectedIndex == 0 || registro.comboNatureza.SelectedIndex == 1)
            {
                if (registro.comboNatureza.SelectedIndex == 0)
                {
                    Credito x = new Credito();


                    try
                    {
                        x.Data  = registro.dtpData.Value;
                        x.Valor = Convert.ToDouble(registro.txtValor.Text);
                        if (x.Valor <= 0)
                        {
                            throw new DivideByZeroException();
                        }

                        x.Descriçao = registro.txtDescriçao.Text;
                        x.Natureza  = "Crédito";
                        Cad.Add(x);
                        caixa.CarregaGrid();
                        registro.Close();
                    }
                    catch (FormatException)
                    {
                        MessageBox.Show("Favor conferir se os dados de entrada de valor são numéricos.");
                    }
                    catch (DivideByZeroException)
                    {
                        MessageBox.Show("Verifique se os valores são maiores que zero.");
                    }
                    catch (StackOverflowException)
                    {
                        MessageBox.Show("O valor é muito grande.");
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Erro desconhecido!");
                    }
                }
                else
                if (registro.comboNatureza.SelectedIndex == 1)
                {
                    Debito x = new Debito();

                    try
                    {
                        x.Data  = registro.dtpData.Value;
                        x.Valor = Convert.ToDouble(registro.txtValor.Text);
                        if (x.Valor <= 0)
                        {
                            throw new DivideByZeroException();
                        }

                        x.Descriçao = registro.txtDescriçao.Text;
                        x.Natureza  = "Débito";
                        Cad.Add(x);
                        caixa.CarregaGrid();
                        registro.Close();
                    }
                    catch (FormatException)
                    {
                        MessageBox.Show("Favor conferir se os dados de entrada de valor são numéricos.");
                    }
                    catch (DivideByZeroException)
                    {
                        MessageBox.Show("Verifique se os valores são maiores que zero.");
                    }
                    catch (StackOverflowException)
                    {
                        MessageBox.Show("O valor é muito grande.");
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Erro desconhecido!");
                    }
                }
            }
        }