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(); }
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); }
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); }
private static string FormatEmail(IMembershipUser user) { return(user == null ? string.Empty : user.Email.IsNullOrWhiteSpace() ? "" : $"<{user.Email}>"); }
internal static MembershipUser NewMembershipUser(IMembershipUser membershipUser, IMembershipProvider provider) { return new MembershipUser() { MembershipProvider = provider, User = membershipUser }; }
public void UpdateUser(IMembershipUser user) { Membership.UpdateUser(user.Instance); }