public async Task <IActionResult> Create([Bind("Id,IdUsuarioForeignKey,IdAcaoForeignKey,Quantidade")] AcaoUsuario acaoUsuario) { if (ModelState.IsValid) { var usuario = _context.Usuario.First(u => u.Id == acaoUsuario.IdUsuarioForeignKey); var acao = _context.Acao.First(a => a.Id == acaoUsuario.IdAcaoForeignKey); var valorTotal = acao.Preco * acaoUsuario.Quantidade; if (valorTotal > usuario.Saldo) { //não pode realizar a compra return(RedirectToAction(nameof(Index))); } else { acaoUsuario.ValorTotal = valorTotal; usuario.Saldo = usuario.Saldo - valorTotal; } _context.Add(acaoUsuario); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["IdAcaoForeignKey"] = new SelectList(_context.Acao, "Id", "Nome", acaoUsuario.IdAcaoForeignKey); ViewData["IdUsuarioForeignKey"] = new SelectList(_context.Usuario, "Id", "Nome", acaoUsuario.IdUsuarioForeignKey); return(View(acaoUsuario)); }
public async Task <IActionResult> Create([Bind("Id,Nome,Saldo")] Usuario usuario) { if (ModelState.IsValid) { _context.Add(usuario); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(usuario)); }