Exemple #1
0
        static void Main(string[] args)
        {
            var contexto = new Contexto();

            if (!contexto.Bancos.Any())
            {
                var banco = new Banco()
                {
                    Nome = "Caixa"
                };
                contexto.Add(banco);
                contexto.SaveChanges();

                if (!contexto.Agencias.Any())
                {
                    var Agencia = new Agencia()
                    {
                        NumeroAgencia = "0000", BancoId = banco.Id
                    };
                    contexto.Add(Agencia);
                    contexto.SaveChanges();
                }
            }

            foreach (Agencia a in contexto.Agencias)
            {
                Console.WriteLine("bancoId: " + a.BancoId);
            }


            while (true)
            {
                Console.WriteLine("1 Listar agencias");
                Console.WriteLine("2 Agencia");
                Console.WriteLine("3 Conta");
                Console.WriteLine("0 Sair");

                int op = int.Parse(Console.ReadLine());
                Console.WriteLine(op);
                if (op == 0)
                {
                    break;
                }

                if (op == 1)
                {
                    List <Banco> bancos = contexto.Bancos.ToList();
                    foreach (Agencia a in bancos[0].Agencias)
                    {
                        Console.WriteLine("Identificador: " + a.NumeroAgencia);
                    }
                }
                else if (op == 2)
                {
                    Console.WriteLine("Numero da agencia.");
                    string agencia = Console.ReadLine();

                    Agencia a = null;

                    List <Banco> bancos = contexto.Bancos.ToList();
                    foreach (Agencia ag in bancos[0].Agencias)
                    {
                        if (ag.NumeroAgencia.Equals(agencia))
                        {
                            a = ag;
                            break;
                        }
                    }
                    if (a == null)
                    {
                        Console.WriteLine("Agencia nao encontrada.");
                        continue;
                    }

                    Console.WriteLine("Agencia " + a.NumeroAgencia);
                    Console.WriteLine("1 Abrir conta");
                    Console.WriteLine("2 Fechar conta");
                    Console.WriteLine("3 Consultar conta");
                    Console.WriteLine("0 Voltar");
                    op = int.Parse(Console.ReadLine());

                    if (op == 1)
                    {
                        Console.WriteLine("1. Conta Corrente 2. Conta Poupanca ");
                        op = int.Parse(Console.ReadLine());

                        if (op == 1)
                        {
                            Console.WriteLine("Titular ");
                            string nome = Console.ReadLine();

                            ContaCorrente cc = new ContaCorrente();
                            cc.Titular = nome;
                            contexto.Add(cc);
                            a.Contas.Add(cc);
                            contexto.SaveChanges();
                            continue;
                        }
                        else if (op == 2)
                        {
                            Console.WriteLine("Titular ");
                            string        nome = Console.ReadLine();
                            ContaPoupanca cp   = new ContaPoupanca();
                            cp.Titular = nome;
                            Console.WriteLine("Digite sua data de aniversario ");
                            string niver = Console.ReadLine();
                            cp.DataAniversario = DateTime.ParseExact(niver, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                            contexto.Add(cp);
                            a.Contas.Add(cp);
                            contexto.SaveChanges();
                            continue;
                        }
                    }
                    else if (op == 2)
                    {
                        Console.WriteLine("Titular.");
                        string nome = Console.ReadLine();
                        Console.WriteLine("1. Conta Corrente 2.Conta Poupanca ");
                        op = int.Parse(Console.ReadLine());
                        if (op == 1)
                        {
                            foreach (ContaCorrente cc in contexto.ContasCorrentes)
                            {
                                if (cc.Titular.Equals(nome))
                                {
                                    contexto.ContasCorrentes.Remove(cc);
                                    a.Contas.Remove(cc);
                                    contexto.SaveChanges();
                                    break;
                                }
                            }
                        }
                        else if (op == 2)
                        {
                            foreach (ContaPoupanca cp in contexto.ContasPoupancas)
                            {
                                if (cp.Titular.Equals(nome))
                                {
                                    contexto.ContasPoupancas.Remove(cp);
                                    a.Contas.Remove(cp);
                                    contexto.SaveChanges();
                                    break;
                                }
                            }
                        }
                    }
                    else if (op == 3)
                    {
                        Console.WriteLine("1. Conta Corrente 2. Conta Poupanca ");
                        op = int.Parse(Console.ReadLine());

                        if (op == 1)
                        {
                            Console.WriteLine("Titular ");
                            string nome = Console.ReadLine();
                            foreach (ContaCorrente cc in contexto.ContasCorrentes)
                            {
                                if (cc.Titular.Equals(nome))
                                {
                                    Console.WriteLine("Identificador: " + cc.Id + " | Saldo: " + cc.Saldo);
                                    break;
                                }
                            }
                            continue;
                        }
                        else if (op == 2)
                        {
                            Console.WriteLine("Titular ");
                            string nome = Console.ReadLine();
                            foreach (ContaPoupanca cp in contexto.ContasPoupancas)
                            {
                                if (cp.Titular.Equals(nome))
                                {
                                    Console.WriteLine("Identificador: " + cp.Id + " | Saldo: " + cp.Saldo);
                                    break;
                                }
                            }
                            continue;
                        }
                    }
                }
                else if (op == 3)
                {
                    Console.WriteLine("Conta.");
                    Console.WriteLine("1 Solicitar");
                    Console.WriteLine("0 Voltar");

                    op = int.Parse(Console.ReadLine());

                    if (op == 1)
                    {
                        Solicitacao s = new Solicitacao();
                        Console.WriteLine("digite Cpf do cliente");
                        string CpfCliente = Console.ReadLine();
                        Console.WriteLine("digite agencia do cliente");
                        string NumeroAgencia = Console.ReadLine();
                        Console.WriteLine("digite o tipo de transacao: (1- Deposito 2 - Saque) ");
                        int opc = int.Parse(Console.ReadLine());

                        List <Agencia> agencias = contexto.Agencias.ToList();
                        Agencia        a        = null;
                        foreach (Agencia ag in agencias)
                        {
                            if (ag.NumeroAgencia.Equals(NumeroAgencia))
                            {
                                a = ag;
                                break;
                            }
                        }

                        if (a == null)
                        {
                            Console.WriteLine("Agencia nao encontrada");
                            continue;
                        }

                        if (opc == 1)
                        {
                            s.TipoT = TIPO_DEPOSITO;
                        }
                        else if (opc == 2)
                        {
                            s.TipoT = TIPO_SAQUE;
                        }

                        if (s.TipoT.Equals(TIPO_DEPOSITO))
                        {
                            Console.WriteLine("digite a conta");
                            string conta = Console.ReadLine();

                            Console.WriteLine("1. Conta Corrente 2. Conta Poupanca ");
                            opc = int.Parse(Console.ReadLine());

                            if (opc == 1)
                            {
                                ContaCorrente c = null;

                                foreach (ContaCorrente cc in a.Contas)
                                {
                                    if (cc.Titular.Equals(conta))
                                    {
                                        c = cc;
                                        break;
                                    }
                                }

                                if (c == null)
                                {
                                    Console.WriteLine("Conta nao encontrada");
                                    break;
                                }

                                Console.WriteLine("Valor a ser Depositado");
                                decimal valor = decimal.Parse(Console.ReadLine());

                                decimal taxa = valor * c.Taxa;
                                c.Saldo = c.Saldo + valor - taxa;

                                Console.WriteLine("Valor atual: " + c.Saldo);
                                contexto.SaveChanges();
                            }

                            else if (opc == 2)
                            {
                                ContaPoupanca p = null;

                                foreach (ContaPoupanca cp in a.Contas)
                                {
                                    if (cp.Titular.Equals(conta))
                                    {
                                        p = cp;
                                        break;
                                    }
                                }

                                if (p == null)
                                {
                                    Console.WriteLine("Conta nao encontrada");
                                    break;
                                }

                                Console.WriteLine("Valor a ser Depositado");
                                decimal valor = int.Parse(Console.ReadLine());

                                decimal taxa = valor * p.Juros;
                                p.Saldo = p.Saldo + valor + taxa;

                                Console.WriteLine("Valor atual: " + p.Saldo);
                                contexto.SaveChanges();
                            }
                        }

                        else if (s.TipoT.Equals(TIPO_SAQUE))
                        {
                            Console.WriteLine("digite a conta");
                            string conta = Console.ReadLine();

                            Console.WriteLine("1. Conta Corrente 2. Conta Poupanca ");
                            opc = int.Parse(Console.ReadLine());

                            if (opc == 1)
                            {
                                ContaCorrente c = null;

                                foreach (ContaCorrente cc in a.Contas)
                                {
                                    if (cc.Titular.Equals(conta))
                                    {
                                        c = cc;
                                        break;
                                    }
                                }

                                if (c == null)
                                {
                                    Console.WriteLine("Conta nao encontrada");
                                    break;
                                }

                                Console.WriteLine("Valor a ser Sacado ");
                                decimal valor = decimal.Parse(Console.ReadLine());

                                if (c.Saldo >= valor)
                                {
                                    c.Saldo = c.Saldo - valor;

                                    Console.WriteLine("Valor atual: " + c.Saldo);
                                    contexto.SaveChanges();
                                }
                                else
                                {
                                    Console.WriteLine("Saldo insufuciente.");
                                    continue;
                                }
                            }
                            else if (op == 2)
                            {
                                ContaPoupanca p = null;

                                foreach (ContaPoupanca cp in a.Contas)
                                {
                                    if (cp.Titular.Equals(conta))
                                    {
                                        p = cp;
                                        break;
                                    }
                                }

                                if (p == null)
                                {
                                    Console.WriteLine("Conta nao encontrada");
                                    break;
                                }

                                Console.WriteLine("Valor a ser Sacado");
                                decimal valor = decimal.Parse(Console.ReadLine());

                                if (p.Saldo >= valor)
                                {
                                    p.Saldo = p.Saldo - valor;

                                    Console.WriteLine("Valor atual: " + p.Saldo);
                                    contexto.SaveChanges();
                                }
                                else
                                {
                                    Console.WriteLine("Saldo insufuciente.");
                                    continue;
                                }
                            }
                        }
                    }
                }
                else if (op == 0)
                {
                    continue;
                }
            }
        }
Exemple #2
0
        static int deletarConta(BancoContext context, Conta conta, int opcao)
        {
            Cliente       cliente = new Cliente();
            ContaCorrente contaC  = new ContaCorrente();
            ContaPoupanca contaP  = new ContaPoupanca();
            int           option  = 0;

            Console.WriteLine("****** Atualização de Dados Cadastrais *******");
            Console.WriteLine("Informe o nome do titular: ");
            string nome = Console.ReadLine();

            Console.WriteLine("Informe o CPF do titular: ");
            string cpf = Console.ReadLine();

            try
            {
                if (opcao == 1)
                {
                    cliente = context.Set <Cliente>().Where(b => b.Cpf == cpf && b.Nome == nome).FirstOrDefault();
                    contaC  = context.Set <ContaCorrente>().Where(b => b.Conta == conta).FirstOrDefault();
                }
                else if (opcao == 2)
                {
                    cliente = context.Set <Cliente>().Where(b => b.Cpf == cpf && b.Nome == nome).FirstOrDefault();
                    contaP  = context.Set <ContaPoupanca>().Where(b => b.Conta == conta).FirstOrDefault();
                }
                for (; option != 2;)
                {
                    Console.Clear();
                    Console.WriteLine("Tem certeza que deseja fazer a exclusão desta conta?");
                    Console.WriteLine("1 - Para Sim");
                    Console.WriteLine("2 - Para Não");
                    try
                    {
                        option = Int32.Parse(Console.ReadLine());
                    }
                    catch (Exception erro)
                    {
                        erro.ToString();
                        option = 10;
                    }
                    switch (option)
                    {
                    case 1:
                        if (opcao == 1)
                        {
                            var solicitacao = context.Set <Solicitacao>();
                            foreach (var s in solicitacao)
                            {
                                if (s.Conta == conta)
                                {
                                    context.Remove(s);
                                }
                            }
                            context.Remove(contaC);
                            context.Remove(conta);
                            context.Remove(cliente);
                            context.SaveChanges();
                        }
                        else if (opcao == 2)
                        {
                            var solicitacao = context.Set <Solicitacao>();
                            foreach (var s in solicitacao)
                            {
                                if (s.Conta == conta)
                                {
                                    context.Remove(s);
                                }
                            }
                            context.Remove(contaP);
                            context.Remove(conta);
                            context.Remove(cliente);
                            context.SaveChanges();
                        }
                        Console.WriteLine("Operação efetuada com sucessso!");


                        break;

                    case 2:
                        break;

                    default:
                        Console.Clear();
                        Console.WriteLine("Atenção, esta opção é inválida!");
                        break;
                    }
                    if (option == 1)
                    {
                        return(0);
                    }
                }
            }
            catch (Exception erro)
            {
                erro.ToString();
                Console.Clear();
                Console.WriteLine("Atenção, dados cadastrais incorretos!");
            }

            return(5);
        }