コード例 #1
0
        public void MenuDeposito(Conta contaLogada, Tela tela, BaseDeDados baseDeDados)
        {
            int tipoDeposito = 0;
            int input;

            while (tipoDeposito == 0)
            {
                Console.Clear();
                tela.ImprimirMensagem("Selecione o tipo de depósito: ");
                tela.ImprimirMensagem("1 - Cheque");
                tela.ImprimirMensagem("2 - Dinheiro");
                tela.ImprimirMensagem("3 - Cancelar operação");

                try
                {
                    input = Convert.ToInt32(Console.ReadLine());
                }
                catch (Exception)
                {
                    input = 0;
                }

                switch (input)
                {
                case 1:
                    if (contaLogada.TipoConta.Equals(1))
                    {
                        Console.Clear();
                        tela.ImprimirMensagem("Contas universitárias não podem efetuar depósito em cheque.");
                        Console.ReadKey();
                        Console.Clear();
                        tipoDeposito = 0;
                    }
                    else
                    {
                        tipoDeposito = 1;
                    }
                    break;

                case 2:
                    tipoDeposito = 2;
                    break;

                case 3:
                    tipoDeposito = 3;
                    break;

                default:
                    Console.Clear();
                    tela.ImprimirMensagem("Opção Inválida. Tente novamente.");
                    Console.ReadKey();
                    Console.Clear();
                    break;
                }
            }

            if (tipoDeposito != 3)
            {
                Console.Clear();
                tela.ImprimirMensagem("Por favor, insira uma quantia em R$ (ou 0 para cancelar): ");
                input = validador.ValidarInputMenu(tela, Console.ReadLine());

                if (input != 0)
                {
                    Validadores validador = new Validadores();
                    Console.Clear();
                    if (validador.ValidarUsuario(tela, contaLogada, baseDeDados))
                    {
                        tela.ImprimirMensagem("Por favor, insira um envelope contendo " + tela.converterValor(input) + ".");
                        Console.ReadKey();
                        Console.Clear();
                        Deposito deposito = new Deposito();
                        Console.Clear();
                        String retornoDeposito = deposito.RealizarDeposito(contaLogada, baseDeDados, tipoDeposito, input);
                        Console.Clear();
                        tela.ImprimirMensagem(retornoDeposito);
                        Console.ReadKey();
                    }
                    else
                    {
                        Console.Clear();
                        tela.ImprimirMensagem("Senha Inválida. Sua transação não poderá ser efetivada.");
                        Console.ReadKey();
                        Console.Clear();
                    }
                }
            }
        }
コード例 #2
0
        public void MenuSaque(Conta contaLogada, Tela tela, BaseDeDados baseDeDados)
        {
            int opcao = 0;
            int input = 0;

            int[] quantias = { 0, 20, 50, 100, 200, 500 };
            Saque saque    = new Saque();

            while (opcao != 6)
            {
                Console.Clear();
                tela.ImprimirMensagem("Menu de Saque:");
                tela.ImprimirMensagem("1 - R$20");
                tela.ImprimirMensagem("2 - R$50");
                tela.ImprimirMensagem("3 - R$100");
                tela.ImprimirMensagem("4 - R$200");
                tela.ImprimirMensagem("5 - R$500");
                tela.ImprimirMensagem("6 - Cancelar operação");
                tela.ImprimirMensagem("\nEscolha uma opção: ");

                try
                {
                    input = Convert.ToInt32(Console.ReadLine());
                }
                catch (Exception)
                {
                    input = 0;
                }
                Console.Clear();

                switch (input)
                {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                    input = quantias[input];
                    opcao = 6;
                    Console.Clear();
                    break;

                case 6:
                    opcao = 6;
                    Console.Clear();
                    break;

                default:
                    Console.Clear();
                    tela.ImprimirMensagem("Opção inválida. Tente novamente.");
                    Console.ReadKey();
                    Console.Clear();
                    break;
                }
            }

            if (input != 6)
            {
                Validadores validador = new Validadores();
                if (validador.ValidarUsuario(tela, contaLogada, baseDeDados))
                {
                    String mensagem = saque.EfetuarSaque(contaLogada, baseDeDados, input);
                    tela.ImprimirMensagem(mensagem);
                    Console.ReadKey();
                }
                else
                {
                    Console.Clear();
                    tela.ImprimirMensagem("Senha Inválida. Sua transação não poderá ser efetivada.");
                    Console.ReadKey();
                    Console.Clear();
                }
            }
            else
            {
                tela.ImprimirMensagem("Cancelando operação...");
                Console.ReadKey();
            }
        }