예제 #1
0
        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();
            });
        }
예제 #2
0
        /// <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);
        }