Пример #1
0
        public void Sacar(decimal valor, Conta conta, BancoContext context, int type)
        {
            string  solicitacao;
            decimal desconto;

            if (conta.Saldo >= valor)
            {
                try
                {
                    if (type == 1)
                    {
                        var contaC = context.ContasCorrente.Where(b => b.Conta == conta)
                                     .FirstOrDefault();
                        desconto    = valor * contaC.Taxa;
                        solicitacao = DateTime.Now.ToString() + " CONTACORRENTE SAQUE- SALDO:" + conta.Saldo + " VALOR:" + valor + " DESCONTO:" + desconto;
                        conta.Saldo = conta.Saldo - (valor + desconto);
                        solicitacao = solicitacao + " SALDOATUAL:" + conta.Saldo;
                        context.SaveChanges();
                        var newSolicitacao = new Solicitacao()
                        {
                            Conta = conta, Movimentacao = solicitacao
                        };
                        context.Add(newSolicitacao);
                        context.SaveChanges();
                    }
                    else if (type == 2)
                    {
                        var contaC = context.ContasPoupanca.Where(b => b.Conta == conta)
                                     .FirstOrDefault();
                        solicitacao = DateTime.Now.ToString() + " CONTAPOUPANCA SAQUE- SALDO:" + conta.Saldo + " VALOR:" + valor;
                        conta.Saldo = conta.Saldo - valor;
                        solicitacao = solicitacao + " SALDOATUAL:" + conta.Saldo;
                        context.SaveChanges();
                        var newSolicitacao = new Solicitacao()
                        {
                            Conta = conta, Movimentacao = solicitacao
                        };
                        context.Add(newSolicitacao);
                        context.SaveChanges();
                    }
                    Console.WriteLine("Operação Realizada com sucesso!");
                    Console.WriteLine(" ");
                }
                catch (Exception error)
                {
                    error.ToString();
                    Console.WriteLine("Não foi possivel efetuar esta ação");
                    Console.WriteLine(" ");
                }
            }
            else
            {
                Console.WriteLine("A conta não possui saldo suficiente");
                Console.WriteLine(" ");
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            var contexto = new Contexto();

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

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

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


            while (true)
            {
                Console.WriteLine("Digite a opcao desejada.");
                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("Digite 1. Conta Corrente 2.Conta Poupanca ");
                        op = int.Parse(Console.ReadLine());

                        if (op == 1)
                        {
                            Console.WriteLine("Digite o nome do 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("Digite o nome do 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("Digite o nome do titular.");
                        string nome = Console.ReadLine();
                        Console.WriteLine("Digite 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("Digite 1. Conta Corrente 2.Conta Poupanca ");
                        op = int.Parse(Console.ReadLine());

                        if (op == 1)
                        {
                            Console.WriteLine("Digite o nome do 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("Digite o nome do 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("Digite 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("Digite 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;
                }
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            using (var db = new StoreContext())
            {
                db.Set <Banco>().RemoveRange(db.Bancos);
                Banco banco = new Banco();
                db.Bancos.Add(banco);
                db.SaveChanges();

                while (true)
                {
                    menu();
                    int op = int.Parse(Console.ReadLine());

                    if (op == 1)
                    {
                        Agencia agencia = new Agencia();
                        agencia.Banco = banco;
                        db.Agencias.Add(agencia);  //add agência in banco
                        db.SaveChanges();
                        banco.findAllAgencia();
                    }
                    else if (op == 2)
                    {
                        banco.findAllAgencia();
                        Console.WriteLine("Informe o número da agência: ");
                        int     numAgencia = int.Parse(Console.ReadLine());
                        Agencia agencia    = banco.findAgencia(numAgencia);

                        if (agencia == null)
                        {
                            Console.WriteLine(
                                "*************************************\n" +
                                "**Agencia inválida! Tente novamente**\n" +
                                "*************************************\n");
                            continue;
                        }

                        Cliente cliente = new Cliente();

                        Console.WriteLine("Informe o nome do cliente: ");
                        cliente.Nome = Console.ReadLine();

                        Console.WriteLine("Qual tipo de conta deseja criar:");
                        Console.WriteLine("1 - Corrente | 2 - Poupança");
                        int tipoConta = int.Parse(Console.ReadLine());
                        if (tipoConta == 1)
                        {
                            db.Clientes.Add(cliente);                     //add cliente in base
                            ContaCorrente cc = new ContaCorrente(cliente.Nome, agencia);
                            var           x  = db.ContasCorrente.Add(cc); //add Conta Corrente in base
                        }
                        else if (tipoConta == 2)
                        {
                            db.Clientes.Add(cliente);   //add cliente in base
                            ContaPoupanca cp = new ContaPoupanca(JUROS, DateTime.Now, cliente.Nome, agencia);
                            db.ContasPoupanca.Add(cp);  //add Conta Poupança in base
                        }
                    }
                    else if (op == 3)
                    {
                        Solicitacao solicitacao = new Solicitacao();
                        solicitacao.realizarSolicitacao(banco);
                    }
                    else if (op == 4)
                    {
                        return;
                    }
                    else
                    {
                        Console.WriteLine(
                            "***********************************\n" +
                            "**Opção inválida! Tente novamente**\n" +
                            "***********************************\n");
                    }
                    db.SaveChanges();
                } //Fim do while
            }
        }         //Fim da main