public async Task <ActionResult> TrocarSenha(Guid id, [FromBody] ContaTrocaSenhaModel model)
        {
            if (id != model.Id)
            {
                return(BadRequest(new BadRequestResponse("O id da rota precisa ser igual ao id do usuário")));
            }

            if (ModelState.IsInvalid())
            {
                return(BadRequest(new BadRequestResponse("Não foi possível atualizar a senha", ModelState, model)));
            }

            if (model.SenhaAtual == model.NovaSenha)
            {
                return(BadRequest(new BadRequestResponse("A nova senha precisa ser diferente da senha antiga")));
            }

            var usuario = await _contaServico.ObterPorUsuarioId(id);

            if (usuario == null)
            {
                return(NotFound(new NotFoundResponse("Usuário não localizado na base de dados")));
            }

            if (await _contaServico.TrocarSenha(usuario, model))
            {
                return(Ok(new OkResponse("Senha atualizada com sucesso")));
            }

            return(BadRequest(new BadRequestResponse("Não foi possível trocar a senha", _notificador.ObterNotificacoes(), model)));
        }
        public async Task <ActionResult> IncluirClaimsParaUsuario([FromBody] IdentityUserClaim <Guid> userClaim)
        {
            if ((await _contaServico.ObterPorUsuarioId(userClaim.UserId)) == null)
            {
                return(NotFound(new NotFoundResponse("Usuário não localizado na base de dados", userClaim)));
            }

            if (await _contaServico.CadastrarClaimParaUsuario(userClaim))
            {
                return(Ok(new OkResponse("Claim cadastrada com sucesso", userClaim)));
            }

            return(BadRequest(
                       new BadRequestResponse(
                           "Não foi possível cadastrar a claim",
                           _notificador.ObterNotificacoes(),
                           userClaim)));
        }