public virtual void Process(UnicornReserializeCompletePipelineArgs args) { var userPredicate = args.Configuration.Resolve <IUserPredicate>(); // no predicate = configuration doesn't include any users if (userPredicate == null) { return; } var dataStore = args.Configuration.Resolve <IUserDataStore>(); var logger = args.Configuration.Resolve <ILogger>(); Assert.IsNotNull(dataStore, $"The IUserDataStore was not registered for the {args.Configuration.Name} configuration."); Assert.IsNotNull(logger, $"The ILogger was not registered for the {args.Configuration.Name} configuration."); logger.Info(string.Empty); logger.Info($"{args.Configuration.Name} users are being reserialized."); dataStore.Clear(); var users = UserManager.GetUsers().Where(user => userPredicate.Includes(user).IsIncluded); int userCount = 0; foreach (var user in users) { dataStore.Save(UserSynchronization.BuildSyncUser(Membership.GetUser(user.Name))); userCount++; } logger.Info($"{args.Configuration.Name} users reserialize complete. {userCount} users were reserialized."); logger.Info(string.Empty); }
public virtual void UserAlteredOrCreated(string userName) { var user = User.FromName(userName, false); if (_predicate == null || !_predicate.Includes(user).IsIncluded) { return; } _dataStore.Save(UserSynchronization.BuildSyncUser(Membership.GetUser(user.Name))); }