示例#1
0
        public HttpResponseMessage DeleteFromRole(int userId, int roleId)
        {
            //System.Threading.Thread.Sleep(2000); // test api latency

            var command = new RevokeRoleFromUser(User, roleId, userId);

            try
            {
                _revokeRole.Handle(command);
            }
            catch (ValidationException ex)
            {
                var badRequest = Request.CreateResponse(HttpStatusCode.BadRequest,
                    ex.Errors.First().ErrorMessage, "text/plain");
                return badRequest;
            }

            var response = Request.CreateResponse(HttpStatusCode.OK, "Access was revoked successfully.");
            return response;
        }
示例#2
0
        public void Handle(RevokeRoleFromUser message)
        {
            var role = _roleRepository.Get(new RoleId(message.RoleId));

            ForUser(message.UserId).RevokeRole(role);
        }
示例#3
0
        public HttpResponseMessage ValidateRevoke(int userId, int roleId)
        {
            //System.Threading.Thread.Sleep(2000); // test api latency

            var command = new RevokeRoleFromUser(User, roleId, userId);
            var validationResult = _revokeValidator.Validate(command);

            if (validationResult.Errors.Any())
                return Request.CreateResponse(HttpStatusCode.BadRequest,
                    validationResult.Errors.First().ErrorMessage, "text/plain");

            return Request.CreateResponse(HttpStatusCode.OK);
        }