public async Task <IActionResult> Atualizar([FromBody] Conta conta) { var usuario = User.FindFirstValue(ClaimTypes.NameIdentifier); var usuarioEncontrado = await _context.Usuarios.FirstOrDefaultAsync(e => e.Login == usuario); var contaEncontrada = await _context.Contas.FindAsync(conta.Id); if (contaEncontrada.Usuario != usuarioEncontrado) { return(Forbid()); } if (contaEncontrada == null) { return(NotFound()); } contaEncontrada.Nome = conta.Nome; contaEncontrada.Descricao = conta.Descricao; _context.Contas.Update(contaEncontrada); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult <Receita> > Novo([FromBody] ReceitaDto receitaInformada) { var usuarioEncontrado = await _usuarioService.GetUsuarioFromJwtAsync(User); var receitaEncontrada = await _context.Receitas.FirstOrDefaultAsync(e => e.Descricao == receitaInformada.Descricao && e.Conta.Usuario != usuarioEncontrado); if (receitaEncontrada != null) { return(Conflict()); } if (receitaInformada.Conta == null || receitaInformada.Conta.Id == 0) { return(BadRequest()); } var contaEncontrada = await _context.Contas.FirstOrDefaultAsync(e => e.Id == receitaInformada.Conta.Id && e.Usuario == usuarioEncontrado); if (contaEncontrada == null) { return(NotFound()); } var novaReceita = _mapper.Map <Receita>(receitaInformada); if (contaEncontrada != null) { novaReceita.Conta = contaEncontrada; } _context.Receitas.Add(novaReceita); await _context.SaveChangesAsync(); return(Ok(novaReceita)); }
public async Task <IActionResult> Novo([FromBody] UsuarioDto usuarioInformado) { var usuarioEncontrado = await _context.Usuarios.FirstOrDefaultAsync(e => e.Login == usuarioInformado.login); if (usuarioEncontrado != null) { return(Conflict()); } var novoUsuario = _mapper.Map <Usuario>(usuarioInformado); byte[] salt = Utils.gerarRandomSalt(); novoUsuario.Salt = salt; novoUsuario.Senha = Utils.hashWithSalt(usuarioInformado.senha, salt); _context.Usuarios.Add(novoUsuario); await _context.SaveChangesAsync(); return(Ok()); }