public void DefineMaps(IUmbracoMapper mapper) { mapper.Define <IUser, BackOfficeIdentityUser>( (source, context) => { var target = new BackOfficeIdentityUser(_globalSettings, source.Id, source.Groups); target.DisableChangeTracking(); return(target); }, (source, target, context) => { Map(source, target); target.ResetDirtyProperties(true); target.EnableChangeTracking(); }); mapper.Define <IMember, MemberIdentityUser>( (source, context) => { var target = new MemberIdentityUser(source.Id); target.DisableChangeTracking(); return(target); }, (source, target, context) => { Map(source, target); target.ResetDirtyProperties(true); target.EnableChangeTracking(); }); }
/// <summary> /// Used to construct a new instance without an identity /// </summary> public static MemberIdentityUser CreateNew(string username, string email, string memberTypeAlias, bool isApproved, string?name = null) { if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(username)); } var user = new MemberIdentityUser(); user.DisableChangeTracking(); user.UserName = username; user.Email = email; user.MemberTypeAlias = memberTypeAlias; user.IsApproved = isApproved; user.Id = null !; user.HasIdentity = false; user.Name = name; user.EnableChangeTracking(); return(user); }