예제 #1
0
        public void UpdateRole(EditRoleData data)
        {
            var role = GetRoleById(data.Id);

            if (role == null)
            {
                throw new RegoException("Role not found");
            }

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                role.Code        = data.Code;
                role.Name        = data.Name;
                role.Description = data.Description;
                role.UpdatedBy   = _repository.Admins.Single(u => u.Id == _actorInfoProvider.Actor.Id);
                role.UpdatedDate = DateTimeOffset.UtcNow;

                _authCommands.UpdateRole(new UpdateRole
                {
                    RoleId      = role.Id,
                    Permissions = data.CheckedPermissions
                });

                role.SetLicensees(data.AssignedLicensees);

                _repository.SaveChanges();

                _eventBus.Publish(new RoleUpdated(role));

                scope.Complete();
            }
        }
        public IHttpActionResult UpdateRole(EditRoleData data)
        {
            VerifyPermission(Permissions.Update, Modules.RoleManager);

            _service.UpdateRole(data);

            return(Ok(new
            {
                result = "success",
                data = new
                {
                    Role = data,
                    Licensees = _brands.GetLicensees().Select(l => new { l.Id, l.Name })
                }
            }));
        }
예제 #3
0
 public HttpResponseMessage UpdateRoleInRoleManager(EditRoleData request)
 {
     return(WebClient.SecurePostAsJson <EditRoleData, HttpResponseMessage>(Token, _url + AdminApiRoutes.UpdateRoleInRoleManager, request));
 }