public IActionResult Extrato(object obj)
        {
            ContaBE         contaBE          = null;
            OperacaoBE      operacaoBE       = null;
            ContaOperacaoBE contaOperacaoBE  = null;
            DateTime        dataNow          = DateTime.Now;
            string          operacaoSigla    = "EX";
            bool            primeiraOperacao = true;

            try
            {
                contaBE         = new ContaBE();
                operacaoBE      = new OperacaoBE(contaBE.GetSqlCommand());
                contaOperacaoBE = new ContaOperacaoBE(contaBE.GetSqlCommand());

                var conta = new ContaModel(HttpContextAccessor);

                var operacao = operacaoBE.Consultar(new OperacaoModel()
                {
                    Sigla = operacaoSigla
                });

                var contaOperacao = contaOperacaoBE.Consultar(new ContaOperacaoModel()
                {
                    Ano      = dataNow.Year,
                    Mes      = dataNow.Month,
                    Operacao = { Id = operacao.Id },
                    Conta    = { Id = conta.Id }
                });

                if (contaOperacao != null && contaOperacao.Id > 0)
                {
                    primeiraOperacao = false;
                    //conta = contaBE.ValidarConta(conta);
                    //contaBE.CobrarOperacao(conta, operacaoSigla);
                }
                //else
                //{
                //    contaOperacaoBE.Inserir(new ContaOperacaoModel()
                //    {
                //        Conta = { Id = conta.Id },
                //        Operacao = { Id = operacao.Id },
                //        DataOperacao = dataNow
                //    });
                //}

                //conta = contaBE.ValidarConta(conta);
                ViewBag.PrimeiraOperacao = primeiraOperacao;
                return(View());
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        public IActionResult Saldo()
        {
            ContaBE         contaBE         = null;
            OperacaoBE      operacaoBE      = null;
            ContaOperacaoBE contaOperacaoBE = null;
            DateTime        dataNow         = DateTime.Now;
            string          operacaoSigla   = "SD";

            try
            {
                contaBE         = new ContaBE();
                operacaoBE      = new OperacaoBE(contaBE.GetSqlCommand());
                contaOperacaoBE = new ContaOperacaoBE(contaBE.GetSqlCommand());

                var conta = new ContaModel(HttpContextAccessor);

                var operacao = operacaoBE.Consultar(new OperacaoModel()
                {
                    Sigla = operacaoSigla
                });

                var contaOperacao = contaOperacaoBE.Consultar(new ContaOperacaoModel()
                {
                    Ano      = dataNow.Year,
                    Mes      = dataNow.Month,
                    Operacao = { Id = operacao.Id },
                    Conta    = { Id = conta.Id }
                });

                if (contaOperacao != null && contaOperacao.Id > 0)
                {
                    conta = contaBE.ValidarConta(conta);
                    contaBE.CobrarOperacao(conta, operacaoSigla);
                }
                else
                {
                    contaOperacaoBE.Inserir(new ContaOperacaoModel()
                    {
                        Conta        = { Id = conta.Id },
                        Operacao     = { Id = operacao.Id },
                        DataOperacao = dataNow
                    });
                }

                conta         = contaBE.ValidarConta(conta);
                ViewBag.Conta = conta;
                return(View());
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        public IActionResult Saque(ContaMovimentoModel contaMovimento)
        {
            ContaBE          contaBE          = null;
            ContaMovimentoBE contaMovimentoBE = null;
            DateTime         dataNow          = DateTime.Now;
            string           operacaoSigla    = "SQ";

            try
            {
                contaBE          = new ContaBE();
                contaMovimentoBE = new ContaMovimentoBE(contaBE.GetSqlCommand());

                var conta = new ContaModel(HttpContextAccessor);
                contaMovimento.Conta = contaBE.ValidarConta(conta);

                if (contaMovimento.Valor > (contaMovimento.Conta.Saldo + contaMovimento.Conta.ChequeEspecial))
                {
                    ViewBag.Info = "Valor solicitado maior que o saldo disponivel.";
                    return(View());
                }


                contaMovimentoBE.Sacar(contaMovimento, operacaoSigla);

                return(View());
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        public IActionResult Deposito(DepositoModel deposito)
        {
            ContaBE    contaBE    = null;
            DepositoBE depositoBE = null;

            try
            {
                contaBE    = new ContaBE();
                depositoBE = new DepositoBE(contaBE.GetSqlCommand());

                if (deposito.NomeDepositante != "" && deposito.CpfDepositante != "" && deposito.Conta.Numero != "" && deposito.Conta.Agencia != "" && deposito.Valor > 0)
                {
                    var conta = contaBE.ValidarConta(deposito.Conta);

                    if (conta != null && conta.Id > 0)
                    {
                        deposito.Conta = conta;
                        depositoBE.Inserir(deposito);
                        return(RedirectToAction("Index", "Home"));
                    }

                    ViewBag.Info = "Conta de destino não é uma conta válida.";
                    return(View());
                }

                ViewBag.Info = "Todos os campos devem ser preenchidos.";
                return(View());
            }
            catch (Exception)
            {
                return(View());
            }
        }