public JsonResult GerarGraficoAcumulado()
        {
            GraficoAcumuladoViewModel model = new GraficoAcumuladoViewModel();

            model.TotalReceita = _lancamento.ObterTodos().Where(x => x.TipoLancamento == TipoLancamento.Credito && x.isTransferencia == false).Select(x => x.Valor).Sum();
            model.TotalDespesa = _lancamento.ObterTodos().Where(x => x.TipoLancamento == TipoLancamento.Debito && x.isTransferencia == false).Select(x => x.Valor).Sum();

            return(Json(model));
        }
        public ActionResult Index(int txtConta, int?pagina)
        {
            try
            {
                CarregarContaContabil();

                var lancamento = _lancamento.ObterTodos().Where(x => x.ContaContabilID == txtConta);

                var receitas = lancamento.Where(x => x.TipoLancamento == TipoLancamento.Credito).Select(x => x.Valor).Sum();
                var despesas = lancamento.Where(x => x.TipoLancamento == TipoLancamento.Debito).Select(x => x.Valor).Sum();

                decimal saldoInicial = 0;

                if (txtConta == 0)
                {
                    saldoInicial = 0;
                }
                else
                {
                    saldoInicial = _contaContabil.ObterPorId(txtConta).SaldoInicial;
                }

                ViewData["FiltroAtual"]  = txtConta;
                ViewData["SaldoInicial"] = saldoInicial.ToString("C");
                ViewData["SaldoAtual"]   = (saldoInicial + receitas - despesas).ToString("C");

                int pageSize = 10;
                return(View(Paginacao <Lancamento> .Create(lancamento, pagina ?? 1, pageSize)));
            }
            catch (Exception ex)
            {
                Mensagem = ex.Message.ToString();
                ModelState.AddModelError(String.Empty, Mensagem);
                return(RedirectToAction(nameof(Index)));
            }
        }