/// <summary> /// User saving event. /// </summary> /// <remarks> /// User is already saved but the object itself is not updated yet. /// </remarks> void User_Saving(IUserService service, SaveEventArgs <IUser> e) { foreach (var savedEntity in e.SavedEntities) { if (savedEntity != null) { if (!savedEntity.IsNewEntity()) { // Update permissions for old users if the user type changes. IUser savedUser = service.GetUserById(savedEntity.Id); if (savedEntity.UserType.Alias != savedUser.UserType.Alias) { _userTypePermissionsService.CopyPermissionsForSingleUser(savedUser); } } else { // Set permissions for new users. _userTypePermissionsService.CopyPermissionsForSingleUser(savedEntity); } } } }
public object ApplyAllGroupPermissions(ApplyRequest request) { // Variables. var failureReason = default(string); var userService = Services.UserService; var user = userService.GetUserById(request.UserId); var success = true; // User found? if (user == null) { success = false; failureReason = UserNotFound; } // Copy permissions. if (success) { _userTypePermissionsService.CopyPermissionsForSingleUser(user); } // Indicate success or failure. if (success) { return(new { Success = true }); } else { return(new { Success = false, Reason = failureReason }); } }