public void RealizaSaque(RelatorioOperacaoDao relatorioDao, ContaBancariaDao contaDao, ViewContaBancaria viewConta)
        {
            Console.Clear();

            Console.WriteLine("Informe o ID da sua conta bancaria");
            int IdConta = Convert.ToInt32(Console.ReadLine());

            ContaBancaria contaOrigem = contaDao.BuscaPorId(IdConta);

            if (contaOrigem != null)
            {
                Operacao operacao = new Operacao();

                Console.WriteLine("\nInforme o valor a ser sacado:\n");
                double valor = Convert.ToDouble(Console.ReadLine());

                if (contaOrigem.Saldo < valor)
                {
                    Console.WriteLine("Voce não tem saldo suficiente para realizar este saque");
                }
                else
                {
                    contaOrigem.Saque(valor);
                    operacao.RealizaOperacao(contaOrigem, contaOrigem, 2, valor);

                    relatorioDao.AdicionaNovaOperacao(operacao);

                    Console.WriteLine("\nOperacao realizada com sucesso");
                }
            }
            else
            {
                Console.WriteLine("Conta não identificada");
            }
        }
        public void RealizaTransferencia(ViewContaBancaria viewConta, RelatorioOperacaoDao relatorioDao, ContaBancariaDao contaDao)
        {
            Console.Clear();

            Console.WriteLine("Informe o ID da sua conta bancaria");
            int IdContaOrigem = Convert.ToInt32(Console.ReadLine());

            ContaBancaria contaOrigem = contaDao.BuscaPorId(IdContaOrigem);

            if (contaOrigem != null)
            {
                Operacao operacao = new Operacao();

                Console.WriteLine("\nConfirme os dados: \n");
                viewConta.ListaEFormata();

                Console.WriteLine("\nInforme o ID da conta bancaria que vai receber a transferencia");
                int IdContaDestino = Convert.ToInt32(Console.ReadLine());

                ContaBancaria contaMovimentada = contaDao.BuscaPorId(IdContaDestino);

                if (contaMovimentada != null)
                {
                    Console.WriteLine("\nConfirme os dados: \n");
                    viewConta.ListaEFormata();

                    Console.WriteLine("\nInforme o valor a ser transferido: ");
                    double ValorTransferencia = Convert.ToDouble(Console.ReadLine());

                    if (contaOrigem.Saldo < ValorTransferencia)
                    {
                        Console.WriteLine("Voce não tem saldo suficiente para fazer este depósito");
                    }
                    else
                    {
                        contaOrigem.Saque(ValorTransferencia);
                        contaMovimentada.Deposito(ValorTransferencia);

                        operacao.RealizaOperacao(contaMovimentada, contaOrigem, 3, ValorTransferencia);

                        relatorioDao.AdicionaNovaOperacao(operacao);

                        Console.WriteLine("Operacao realizada com sucesso");
                    }
                }
                else
                {
                    Console.WriteLine("Nenhuma conta encontrada");
                }
            }
            else
            {
                Console.WriteLine("Nenhuma conta encontrada");
            }
        }
示例#3
0
        public void VisualizaRelatorioDeOperacoes(RelatorioOperacaoDao relatorioDao)
        {
            Console.Clear();

            if (relatorioDao.RetornaOperacoes().Count != 0)
            {
                foreach (var operacao in relatorioDao.RetornaOperacoes())
                {
                    Console.WriteLine($"\nId desta operação: {operacao.Id} \n Conta Movimentada: \n Nome: {operacao.ContaMovimentada.DonoDaConta.Nome} \n Conta: {operacao.ContaMovimentada.Conta}\n" +
                                      $"Agencia: {operacao.ContaMovimentada.Agencia.Nome} \n\n Conta Origem: \n Nome: {operacao.ContaOrigem.DonoDaConta.Nome} \n Conta: {operacao.ContaOrigem.Conta} \n" +
                                      $"Agencia: {operacao.ContaOrigem.Agencia.Nome} \n Operacao Realizada: {operacao.OperacaoVinculada} \n Data da Operacao: {operacao.DataOperacao} \n Valor: {operacao.Valor}");
                }
            }
            else
            {
                Console.WriteLine("Nenhuma operacao foi realizada ainda");
            }
        }
示例#4
0
        public void RealizaDeposito(ContaBancariaDao contaDao, ViewContaBancaria viewConta, RelatorioOperacaoDao relatorioDao)
        {
            Console.Clear();

            Console.WriteLine("Informe o ID da sua conta");
            int IdContaOrigem = Convert.ToInt32(Console.ReadLine());

            ContaBancaria contaOrigem = contaDao.BuscaPorId(IdContaOrigem);

            if (contaOrigem != null)
            {
                Operacao operacao = new Operacao();

                Console.WriteLine("Informe o ID da conta bancaria a qual irá receber o deposito:\n");
                int IdContaMovimentada = Convert.ToInt32(Console.ReadLine());

                ContaBancaria contaMovimentada = contaDao.BuscaPorId(IdContaMovimentada);

                if (contaMovimentada != null)
                {
                    Console.WriteLine("\nConfirme os dados: \n");
                    viewConta.ListaEFormata();

                    Console.WriteLine("\nInforme o valor a ser depositado: ");
                    double ValorDeposito = Convert.ToDouble(Console.ReadLine());

                    contaMovimentada.Deposito(ValorDeposito);
                    operacao.RealizaOperacao(contaMovimentada, contaOrigem, 1, ValorDeposito);

                    relatorioDao.AdicionaNovaOperacao(operacao);

                    Console.WriteLine("Operacao realizada com sucesso");
                }
                else
                {
                    Console.WriteLine("Nenhuma conta encontrada");
                }
            }
            else
            {
                Console.WriteLine("Conta nao encontrada");
            }
        }
        public void StartMenuOperacoes(ViewContaBancaria viewConta, ViewRelatorioOperacoes viewRelatorioOperacoes, ViewMenu viewMenu, ViewTransferencia viewTransferencia, ViewDeposito viewDeposito, ViewSaque viewSaque, RelatorioOperacaoDao relatorioDao, ContaBancariaDao contaDao)
        {
            ConsoleKeyInfo _opcao;

            Console.WriteLine("\n PRESSIONE: \n\n F1 Para realizar um saque \n F2 Para fazer um deposito \n F3 Para fazer uma transferencia \n F4 Para exibir o relatorio de operacoes \n F12 para voltar ao menu principal");
            _opcao = Console.ReadKey();
            switch (_opcao.Key)
            {
            case ConsoleKey.F1:
                Console.Clear();
                viewSaque.RealizaSaque(relatorioDao, contaDao, viewConta);
                break;

            case ConsoleKey.F2:
                Console.Clear();
                viewDeposito.RealizaDeposito(contaDao, viewConta, relatorioDao);
                break;

            case ConsoleKey.F3:
                Console.Clear();
                viewTransferencia.RealizaTransferencia(viewConta, relatorioDao, contaDao);
                break;

            case ConsoleKey.F4:
                Console.Clear();
                viewRelatorioOperacoes.VisualizaRelatorioDeOperacoes(relatorioDao);
                break;

            case ConsoleKey.F12:
                Console.Clear();
                viewMenu.IniciaMenu();
                break;
            }
        }