Files
Umbraco-CMS/src/Umbraco.Web/Models/Mapping/MemberProviderFieldResolver.cs
2017-07-20 11:21:28 +02:00

40 lines
1.5 KiB
C#

using System.Collections.Generic;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Security;
namespace Umbraco.Web.Models.Mapping
{
/// <summary>
/// A resolver to map the provider field aliases
/// </summary>
internal class MemberProviderFieldResolver
{
public IDictionary<string, string> Resolve(IMember source)
{
var provider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider();
if (provider.IsUmbracoMembershipProvider() == false)
{
return new Dictionary<string, string>
{
{Constants.Conventions.Member.IsLockedOut, Constants.Conventions.Member.IsLockedOut},
{Constants.Conventions.Member.IsApproved, Constants.Conventions.Member.IsApproved},
{Constants.Conventions.Member.Comments, Constants.Conventions.Member.Comments}
};
}
else
{
var umbracoProvider = (IUmbracoMemberTypeMembershipProvider) provider;
return new Dictionary<string, string>
{
{Constants.Conventions.Member.IsLockedOut, umbracoProvider.LockPropertyTypeAlias},
{Constants.Conventions.Member.IsApproved, umbracoProvider.ApprovedPropertyTypeAlias},
{Constants.Conventions.Member.Comments, umbracoProvider.CommentPropertyTypeAlias}
};
}
}
}
}