Пример #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);
        }
Пример #3
0
        // Umbraco.Code.MapAll -Id -LockoutEnabled -PhoneNumber -PhoneNumberConfirmed -TwoFactorEnabled -ConcurrencyStamp -NormalizedEmail -NormalizedUserName -Roles
        private void Map(IMember source, MemberIdentityUser target)
        {
            target.Email    = source.Email;
            target.UserName = source.Username;
            target.LastPasswordChangeDateUtc = source.LastPasswordChangeDate.ToUniversalTime();
            target.LastLoginDateUtc          = source.LastLoginDate.ToUniversalTime();
            target.EmailConfirmed            = source.EmailConfirmedDate.HasValue;
            target.Name = source.Name;
            target.AccessFailedCount  = source.FailedPasswordAttempts;
            target.PasswordHash       = GetPasswordHash(source.RawPasswordValue);
            target.PasswordConfig     = source.PasswordConfiguration;
            target.IsApproved         = source.IsApproved;
            target.SecurityStamp      = source.SecurityStamp;
            target.LockoutEnd         = source.IsLockedOut ? DateTime.MaxValue.ToUniversalTime() : (DateTime?)null;
            target.Comments           = source.Comments;
            target.LastLockoutDateUtc = source.LastLockoutDate == DateTime.MinValue ? null : source.LastLockoutDate.ToUniversalTime();
            target.CreatedDateUtc     = source.CreateDate.ToUniversalTime();
            target.Key             = source.Key;
            target.MemberTypeAlias = source.ContentTypeAlias;

            // NB: same comments re AutoMapper as per BackOfficeUser
        }