Example #1
0
        public PublishedMember(
            IMember member,
            IPublishedContentType publishedMemberType,
            IVariationContextAccessor variationContextAccessor) : base(variationContextAccessor)
        {
            _member              = member ?? throw new ArgumentNullException(nameof(member));
            _membershipUser      = member;
            _publishedMemberType = publishedMemberType ?? throw new ArgumentNullException(nameof(publishedMemberType));

            // RawValueProperty is used for two things here
            // - for the 'map properties' thing that we should really get rid of
            // - for populating properties that every member should always have, and that we force-create
            //   if they are not part of the member type properties - in which case they are created as
            //   simple raw properties - which are completely invariant

            var properties = new List <IPublishedProperty>();

            foreach (var propertyType in _publishedMemberType.PropertyTypes)
            {
                var property = _member.Properties[propertyType.Alias];
                if (property == null)
                {
                    continue;
                }

                properties.Add(new RawValueProperty(propertyType, this, property.GetValue()));
            }
            EnsureMemberProperties(properties);
            _properties = properties.ToArray();
        }
Example #2
0
        private static string GetAvatarPath(IMembershipUser member)
        {
            var url = "https://www.gravatar.com/avatar/" + member.Email.ToMd5() + "?s=400&d=retro";

            try
            {
                var avatarFileName = "/media/avatar/" + member.Id + ".jpg";
                var path           = HostingEnvironment.MapPath(avatarFileName);

                if (path != null)
                {
                    if (System.IO.File.Exists(path))
                    {
                        System.IO.File.Delete(path);
                    }

                    using (var webClient = new WebClient())
                    {
                        webClient.DownloadFile(url, path);
                    }

                    return(avatarFileName);
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error <Signup>("Could not save gravatar locally", ex);
            }

            return(url);
        }
        //NOTE: We are only overriding the properties that matter, we don't override things like IsOnline since that is handled with the sub-class and the membership providers.

        //NOTE: We are not calling the base constructor which will validate that a provider with the specified name exists which causes issues with unit tests. The ctor
        // validation for that doesn't need to be there anyways (have checked the source).
        public UmbracoMembershipMember(IMembershipUser member, string providerName, bool providerKeyAsGuid = false)
        {
            _member = member;
            //NOTE: We are copying the values here so that everything is consistent with how the underlying built-in ASP.Net membership user
            // handles data! We don't want to do anything differently there but since we cannot use their ctor we'll need to handle this logic ourselves.
            if (member.Username != null)
            {
                _userName = member.Username.Trim();
            }
            if (member.Email != null)
            {
                _email = member.Email.Trim();
            }
            if (member.PasswordQuestion != null)
            {
                _passwordQuestion = member.PasswordQuestion.Trim();
            }
            _providerName    = providerName;
            _providerUserKey = providerKeyAsGuid ? member.ProviderUserKey : member.Id;
            _comment         = member.Comments;
            _isApproved      = member.IsApproved;
            _isLockedOut     = member.IsLockedOut;
            _creationDate    = member.CreateDate.ToUniversalTime();
            _lastLoginDate   = member.LastLoginDate.ToUniversalTime();
            //TODO: We currently don't really have any place to store this data!!
            _lastActivityDate        = member.LastLoginDate.ToUniversalTime();
            _lastPasswordChangedDate = member.LastPasswordChangeDate.ToUniversalTime();
            _lastLockoutDate         = member.LastLockoutDate.ToUniversalTime();
        }
 public void Add(IMembershipUser user)
 {
     lock (_lockObj)
     {
         Instance.Add(user.Instance);
         _castList.Add(user);
     }
 }
        public bool Contains(IMembershipUser item)
        {
            if (item != null)
            {
                return(this[item.UserName] != null);
            }

            return(false);
        }
        public MemberPublishedContent(IMember member)
        {
            if (member == null)
            {
                throw new ArgumentNullException("member");
            }

            _member              = member;
            _membershipUser      = member;
            _publishedMemberType = PublishedContentType.Get(PublishedItemType.Member, _member.ContentTypeAlias);
            if (_publishedMemberType == null)
            {
                throw new InvalidOperationException("Could not get member type with alias " + _member.ContentTypeAlias);
            }

            _properties = PublishedProperty.MapProperties(_publishedMemberType.PropertyTypes, _member.Properties,
                                                          (t, v) => new RawValueProperty(t, v ?? string.Empty))
                          .ToArray();
        }
 public bool Remove(IMembershipUser item)
 {
     if (item != null)
     {
         lock (_lockObj)
         {
             Remove(item.UserName);
             var instance =
                 _castList.FirstOrDefault(
                     x => String.Equals(x.UserName, item.UserName, StringComparison.CurrentCultureIgnoreCase));
             if (instance != null)
             {
                 _castList.Remove(instance);
                 return(true);
             }
         }
     }
     return(false);
 }
Example #8
0
 public abstract void UpdateUser(IMembershipUser user);
        internal static UmbracoMembershipMember AsConcreteMembershipUser(this IMembershipUser member, string providerName, bool providerKeyAsGuid = false)
        {
            var membershipMember = new UmbracoMembershipMember(member, providerName, providerKeyAsGuid);

            return(membershipMember);
        }
Example #10
0
 private static string FormatEmail(IMembershipUser user)
 {
     return(user == null ? string.Empty : user.Email.IsNullOrWhiteSpace() ? "" : $"<{user.Email}>");
 }
Example #11
0
 internal static MembershipUser NewMembershipUser(IMembershipUser membershipUser, IMembershipProvider provider)
 {
     return new MembershipUser() { MembershipProvider = provider, User = membershipUser };
 }
 public void UpdateUser(IMembershipUser user)
 {
     Membership.UpdateUser(user.Instance);
 }
 public void UpdateUser(IMembershipUser user)
 {
     Membership.UpdateUser(user.Instance);
 }