private void button1_Click(object sender, EventArgs e)
        {
            Random numAleatorio = new Random();

            using (var contexto = new BankContext())
            {
                TitularConta titularContaEmprestimo = null;
                foreach (var titular in contexto.TitularContas)
                {
                    if (titular.Email == textBoxEmailEmprestimo.Text)
                    {
                        titularContaEmprestimo = titular;
                    }
                }
                var tipoDeConta = new TipoDeConta()
                {
                    NomeConta = comboBoxTipoEmprestimo.Text,
                };
                var cartao = new Cartao()
                {
                    Saldo        = int.Parse(textBoxValor.Text),
                    NumeroCartao = numAleatorio.Next(10000, 20000000),
                    DataValidade = DateTime.Now.AddYears(10),
                    Nome         = comboBoxTipoEmprestimo.Text,
                    TipoDeConta  = tipoDeConta,
                };

                var CartaoTitular = new CartaoTitular()
                {
                    Cartao       = cartao,
                    TitularConta = titularContaEmprestimo,
                };
                contexto.Add(CartaoTitular);

                var emprestimo = new Emprestimo()
                {
                    TipoEmprestimo = comboBoxTipoEmprestimo.Text,
                    Mensalidade    = int.Parse(comboBoxMeses.Text),
                    NumeroContrato = numAleatorio.Next(1, 5000),
                    Cartao         = cartao,
                    TitularConta   = titularContaEmprestimo,
                };

                contexto.AddRange(emprestimo);
                contexto.SaveChanges();
            }
            MessageBox.Show("Empréstimo Realizado. \nEfectue novamente Login para actualizar. Obrigado");
            panelEmprestimo.Hide();
        }
예제 #2
0
        public IActionResult TransferValues([FromBody] ValueTransfer transfer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data."));
            }

            if (transfer.OriginAccount == transfer.DestinationAccount)
            {
                return(BadRequest("Origin and Destination accounts cannot be the same."));
            }

            Entry originEntry      = Entry.GetEntriesFromTransfer(transfer)[0];
            Entry destinationEntry = Entry.GetEntriesFromTransfer(transfer)[1];

            BankAccount originBankAccount = _dbContext.BankAccount.Find(transfer.OriginAccount);

            if (originBankAccount == null)
            {
                return(NotFound($"Account #{transfer.OriginAccount} does not exists."));
            }

            BankAccount destinationBankAccount = _dbContext.BankAccount.Find(transfer.DestinationAccount);

            if (destinationBankAccount == null)
            {
                return(NotFound($"Account #{transfer.DestinationAccount} does not exists."));
            }

            if (originBankAccount.UpdatedPosition - transfer.TotalAmount < 0 && !originBankAccount.AllowsOverdraft)
            {
                return(BadRequest("The origin account does not allow overdraft."));
            }
            else
            {
                originBankAccount.UpdatedPosition      = originBankAccount.UpdatedPosition - transfer.TotalAmount;
                destinationBankAccount.UpdatedPosition = destinationBankAccount.UpdatedPosition + transfer.TotalAmount;


                _dbContext.UpdateRange(originBankAccount, destinationBankAccount);

                _dbContext.AddRange(originEntry, destinationEntry);

                _dbContext.SaveChanges();

                return(Ok());
            }
        }
        private void btnDeposito_Click(object sender, EventArgs e)
        {
            try
            {
                using (var contexto = new BankContext())
                {
                    var       cartao     = new Cartao();
                    double    saldo      = 0.0;
                    Cartao    cartao1    = null;
                    Movimento movimento1 = null;
                    foreach (var item in contexto.Cartoes)
                    {
                        if (item.NumeroCartao == int.Parse(textBoxNumCartaoMov.Text))
                        {
                            saldo   = item.Saldo;
                            cartao1 = item;
                        }
                    }
                    if (textBoxDeposito.Text == "")
                    {
                        movimento1 = new Movimento()
                        {
                            Levantamento = int.Parse(textBoxLevantamento.Text),
                            ValorSaldo   = saldo,
                            Cartao       = cartao1,
                        };
                        if (saldo <= 0.0 || int.Parse(textBoxLevantamento.Text) > saldo)
                        {
                            MessageBox.Show("Não tem saldo suficite");
                        }
                        else
                        {
                            saldo = movimento1.LevantamentoConta();
                            MessageBox.Show("Movimento efectuado com sucesso. \nEfectue novamente o Login para actualizar os dados. \nObrigado");
                        }
                        textBoxLevantamento.ResetText();
                    }
                    else if (textBoxLevantamento.Text == "")
                    {
                        movimento1 = new Movimento()
                        {
                            Deposito   = int.Parse(textBoxDeposito.Text),
                            ValorSaldo = saldo,
                            Cartao     = cartao1,
                        };
                        saldo = movimento1.DepositoConta();
                        MessageBox.Show("Movimento efectuado com sucesso. \nEfectue novamente o Login para actualizar os dados. \nObrigado");
                        textBoxDeposito.ResetText();
                    }

                    var dados = contexto.Cartoes.First(cartao => cartao.NumeroCartao == int.Parse(textBoxNumCartaoMov.Text));

                    dados.Saldo = saldo;

                    contexto.AddRange(movimento1);
                    contexto.SaveChanges();
                }
            }
            catch (Exception msg)
            {
                MessageBox.Show(msg.Message);
            }
        }
예제 #4
0
 public void AddRange(IEnumerable <T> rangeList)
 {
     _bankContext.AddRange(rangeList);
 }