Exemplo n.º 1
0
        public IActionResult AlterarStatus(Guid id)
        {
            try
            {
                //Pega o valor do usuário que esta logado
                var usuarioid = HttpContext.User.Claims.FirstOrDefault(
                    c => c.Type == JwtRegisteredClaimNames.Jti
                    );

                //Busca uma tarefa pelo seu Id
                var tarefa = _tarefaRepository.BuscarPorId(id);

                //Verifica se a tarefa existe
                if (tarefa == null)
                {
                    return(NotFound());
                }

                //Verifica se a tarefa é do usuário logado
                if (tarefa.UsuarioId != new Guid(usuarioid.Value))
                {
                    return(Unauthorized("Usuário não tem permissão"));
                }

                _tarefaRepository.AlterarStatus(id);

                return(Ok(tarefa));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }