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(); }
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); } }
public void AddRange(IEnumerable <T> rangeList) { _bankContext.AddRange(rangeList); }