Example #1
0
        public static void CarregarContas()
        {
            LeitorArquivo  arquivo = new LeitorArquivo();
            IList <string> contas  = arquivo.LerLinhasArquivo(arquivo.dirLeitura, "contas.txt");

            foreach (var conta in contas)
            {
                string[] lerConta = conta.Split(';');
                var      cliente  = GerenciadorDeClientesBanco.ConsultarClientePorCPF(lerConta[1]);
                switch (lerConta[3])
                {
                case "1":
                    var novaContaC = new ContaCorrente(int.Parse(lerConta[0]), cliente, Double.Parse(lerConta[2]));
                    GerenciadorDeContasBanco.AdicionarConta(novaContaC);
                    break;

                case "2":
                    var novaContaP = new ContaPoupanca(int.Parse(lerConta[0]), cliente, Double.Parse(lerConta[2]));
                    GerenciadorDeContasBanco.AdicionarConta(novaContaP);
                    break;

                case "3":
                    var novaContaI = new ContaInvestimento(int.Parse(lerConta[0]), cliente, Double.Parse(lerConta[2]));
                    GerenciadorDeContasBanco.AdicionarConta(novaContaI);
                    break;

                default:
                    break;
                }
            }
        }
Example #2
0
        //Exemplo clássico generico
        private static T CriarContas <T>() where T : Conta
        {
            Console.Clear();

            Console.Write("Informe o número da Conta: ");
            int numero = Convert.ToInt32(Console.ReadLine());

            if (GerenciadorDeContasBanco.ContaValidaParaCriacao(numero))
            {
                var titular = CriarCliente <Cliente>();

                Console.Write("Informe o saldo da conta: ");
                double saldo = Convert.ToDouble(Console.ReadLine());

                // Cria um instancia generica, conforme o tipo!
                T conta = (T)Activator.CreateInstance(typeof(T), new object[] { numero, titular, saldo });

                GerenciadorDeContasBanco.AdicionarConta(conta);
                GerenciadorDeContasBanco.GravarConta(conta);

                return(conta);
            }

            throw new ContaExistenteException();
        }
Example #3
0
        private void CriarContas <T>(int numero, Cliente titular, double saldo) where T : Conta
        {
            T conta = (T)Activator.CreateInstance(typeof(T), new object[] { numero, titular, saldo });

            GerenciadorDeContasBanco.AdicionarConta(conta);
            GerenciadorDeContasBanco.GravarConta(conta);
        }