Files
Umbraco-CMS/src/Umbraco.Web/Models/ProfileModel.cs
Shannon 70eb3e8613 Merge remote-tracking branch 'origin/6.2.0' into 7.0.0
Conflicts:
	.gitignore
	src/Umbraco.Core/Models/PropertyExtensions.cs
	src/Umbraco.Tests/Models/DataValueSetterTests.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Login.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/RegisterMember.cshtml
	src/Umbraco.Web/Controllers/RegisterController.cs
	src/Umbraco.Web/Models/ProfileModel.cs
	src/Umbraco.Web/Models/RegisterModel.cs
	src/Umbraco.Web/Models/UmbracoProperty.cs
	src/Umbraco.Web/UmbracoModule.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs
2013-09-03 17:30:08 +10:00

59 lines
2.0 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using umbraco.cms.businesslogic.member;
namespace Umbraco.Web.Models
{
public class ProfileModel
{
public ProfileModel()
{
if (Member.IsLoggedOn())
{
//TODO Use new Member API
var member = Member.GetCurrentMember();
if (member != null)
{
this.Name = member.Text;
this.Email = member.Email;
this.MemberProperties = new List<UmbracoProperty>();
var memberType = MemberType.GetByAlias(member.ContentType.Alias);
foreach (var prop in memberType.PropertyTypes.Where(memberType.MemberCanEdit))
{
var value = string.Empty;
var propValue = member.getProperty(prop.Alias);
if (propValue != null)
{
value = propValue.Value.ToString();
}
this.MemberProperties.Add(new UmbracoProperty
{
Alias = prop.Alias,
Name = prop.Name,
Value = value
});
}
}
}
}
[Required]
[RegularExpression(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?",
ErrorMessage = "Please enter a valid e-mail address")]
public string Email { get; set; }
public string Name { get; set; }
public string MemberTypeAlias { get; set; }
public List<UmbracoProperty> MemberProperties { get; set; }
}
}