private List <RecebimentoMes> FiltroMensal(DateTime dataInicial, DateTime dataFinal)
        {
            // var Meses = this.MontarMeses();
            var Meses      = this.MontarMeses(dataInicial, dataFinal);
            var mes        = new RecebimentoMes();
            var assinatura = new RecebimentoSerieFormaPagamento();

            int mesAtual        = 0;
            int anoAtual        = 0;
            int assinaturaAtual = 0;
            //Cartao
            bool ConsultaErrada = false;

            do
            {
                if (bd.LerString("Codigo") == "C")
                {
                    if (mesAtual != bd.LerDateTime("DataVenda").Month)
                    {
                        mesAtual        = bd.LerDateTime("DataVenda").Month;
                        anoAtual        = bd.LerDateTime("DataVenda").Year;
                        mes             = Meses.Where(c => c.Mes == mesAtual && c.Ano == anoAtual).FirstOrDefault();
                        assinaturaAtual = 0;
                    }

                    if (assinaturaAtual != bd.LerInt("ID"))
                    {
                        assinaturaAtual = bd.LerInt("ID");
                        assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                    }

                    if (assinatura == null)
                    {
                        assinatura = new RecebimentoSerieFormaPagamento();
                        assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                        assinatura.Assinatura   = bd.LerString("Nome");
                        mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                    }
                    assinatura.Cartoes           += bd.LerDecimal("Cartao");
                    assinatura.QuantidadeCartoes += bd.LerInt("Quantidade");
                }
                else
                {
                    ConsultaErrada = true;
                    break;
                }
            } while (bd.Consulta().Read());

            if (!ConsultaErrada)
            {
                bd.Consulta().NextResult();
            }

            // Boleto
            if (ConsultaErrada || bd.Consulta().Read())
            {
                ConsultaErrada  = false;
                mesAtual        = 0;
                assinaturaAtual = 0;

                do
                {
                    if (bd.LerString("Codigo") == "B")
                    {
                        if (mesAtual != bd.LerDateTime("DataVenda").Month)
                        {
                            mesAtual        = bd.LerDateTime("DataVenda").Month;
                            anoAtual        = bd.LerDateTime("DataVenda").Year;
                            mes             = Meses.Where(c => c.Mes == mesAtual && c.Ano == anoAtual).FirstOrDefault();
                            assinaturaAtual = 0;
                        }
                        if (assinaturaAtual != bd.LerInt("ID"))
                        {
                            assinaturaAtual = bd.LerInt("ID");
                            assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                        }
                        if (assinatura == null)
                        {
                            assinatura = new RecebimentoSerieFormaPagamento();
                            assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                            assinatura.Assinatura   = bd.LerString("Nome");
                            mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                        }

                        decimal boletosAbertos = bd.LerDecimal("ValorReceber");
                        decimal boletosPagos   = bd.LerDecimal("ValorRecebido");

                        if (boletosAbertos > 0)
                        {
                            assinatura.QuantidadeBoletosAbertos += bd.LerInt("Quantidade");
                        }
                        else
                        {
                            assinatura.QuantidadeBoletosPagos += bd.LerInt("Quantidade");
                        }

                        assinatura.BoletosAbertos += boletosAbertos;
                        assinatura.BoletosPagos   += boletosPagos;
                    }
                    else
                    {
                        ConsultaErrada = true;
                        break;
                    }
                } while (bd.Consulta().Read());
            }


            if (!ConsultaErrada)
            {
                bd.Consulta().NextResult();
            }

            // Dinheiro
            if (bd.Consulta().Read())
            {
                ConsultaErrada  = false;
                mesAtual        = 0;
                assinaturaAtual = 0;

                do
                {
                    if (bd.LerString("Codigo") == "D")
                    {
                        if (mesAtual != bd.LerDateTime("DataVenda").Month)
                        {
                            mesAtual        = bd.LerDateTime("DataVenda").Month;
                            anoAtual        = bd.LerDateTime("DataVenda").Year;
                            mes             = Meses.Where(c => c.Mes == mesAtual && c.Ano == anoAtual).FirstOrDefault();
                            assinaturaAtual = 0;
                        }

                        if (assinaturaAtual != bd.LerInt("ID"))
                        {
                            assinaturaAtual = bd.LerInt("ID");
                            assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                        }

                        if (assinatura == null)
                        {
                            assinatura = new RecebimentoSerieFormaPagamento();
                            assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                            assinatura.Assinatura   = bd.LerString("Nome");
                            mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                        }

                        assinatura.Dinheiros           += bd.LerDecimal("Dinheiro");
                        assinatura.QuantidadeDinheiros += bd.LerInt("Quantidade");
                    }
                    else
                    {
                        ConsultaErrada = true;
                        break;
                    }
                } while (bd.Consulta().Read());
            }

            if (!ConsultaErrada)
            {
                bd.Consulta().NextResult();
            }

            // cheque

            if (bd.Consulta().Read())
            {
                mesAtual        = 0;
                assinaturaAtual = 0;
                do
                {
                    if (mesAtual != bd.LerDateTime("DataVenda").Month)
                    {
                        mesAtual        = bd.LerDateTime("DataVenda").Month;
                        anoAtual        = bd.LerDateTime("DataVenda").Year;
                        mes             = Meses.Where(c => c.Mes == mesAtual && c.Ano == anoAtual).FirstOrDefault();
                        assinaturaAtual = 0;
                    }

                    if (assinaturaAtual != bd.LerInt("ID"))
                    {
                        assinaturaAtual = bd.LerInt("ID");
                        assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                    }

                    if (assinatura == null)
                    {
                        assinatura = new RecebimentoSerieFormaPagamento();
                        assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                        assinatura.Assinatura   = bd.LerString("Nome");
                        mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                    }

                    assinatura.Cheques           += bd.LerDecimal("Cheque");
                    assinatura.QuantidadeCheques += bd.LerInt("Quantidade");
                } while (bd.Consulta().Read());
            }


            return(this.LimparMeses(Meses, dataInicial, dataFinal));
        }
        private List <RecebimentoMes> FiltroMensal()
        {
            var Meses      = this.MontarMeses();
            var mes        = new RecebimentoMes();
            var assinatura = new RecebimentoSerieFormaPagamento();

            int mesAtual        = 0;
            int assinaturaAtual = 0;

            do
            {
                if (mesAtual != bd.LerDateTime("DataVenda").Month)
                {
                    mesAtual = bd.LerDateTime("DataVenda").Month;
                    mes      = Meses.Where(c => c.Mes == bd.LerDateTime("DataVenda").Month).FirstOrDefault();
                }

                if (assinaturaAtual != bd.LerInt("ID"))
                {
                    assinaturaAtual = bd.LerInt("ID");
                    assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                }

                if (assinatura == null)
                {
                    assinatura = new RecebimentoSerieFormaPagamento();
                    assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                    assinatura.Assinatura   = bd.LerString("Nome");
                    mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                }

                assinatura.Cartoes           += bd.LerDecimal("Cartao");
                assinatura.QuantidadeCartoes += bd.LerInt("Quantidade");
            } while (bd.Consulta().Read());

            bd.Consulta().NextResult();

            if (!bd.Consulta().Read())
            {
                return(this.LimparMeses(Meses));
            }

            mesAtual        = 0;
            assinaturaAtual = 0;

            do
            {
                if (mesAtual != bd.LerDateTime("DataVenda").Month)
                {
                    mesAtual = bd.LerDateTime("DataVenda").Month;
                    mes      = Meses.Where(c => c.Mes == bd.LerDateTime("DataVenda").Month).FirstOrDefault();
                }
                if (assinaturaAtual != bd.LerInt("ID"))
                {
                    assinaturaAtual = bd.LerInt("ID");
                    assinatura      = mes.ListaRecebimentoMesSerieFormaPagamento.Where(c => c.AssinaturaID == bd.LerInt("ID")).FirstOrDefault();
                }
                if (assinatura == null)
                {
                    assinatura = new RecebimentoSerieFormaPagamento();
                    assinatura.AssinaturaID = assinaturaAtual = bd.LerInt("ID");
                    assinatura.Assinatura   = bd.LerString("Nome");
                    mes.ListaRecebimentoMesSerieFormaPagamento.Add(assinatura);
                }

                decimal boletosAbertos = bd.LerDecimal("ValorReceber");
                decimal boletosPagos   = bd.LerDecimal("ValorRecebido");

                if (boletosAbertos > 0)
                {
                    assinatura.QuantidadeBoletosAbertos += bd.LerInt("Quantidade");
                }
                else
                {
                    assinatura.QuantidadeBoletosPagos += bd.LerInt("Quantidade");
                }

                assinatura.BoletosAbertos += boletosAbertos;
                assinatura.BoletosPagos   += boletosPagos;
            } while (bd.Consulta().Read());
            return(this.LimparMeses(Meses));
        }