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());
        }
Beispiel #2
0
        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());
        }