2017-07-20 11:21:28 +02:00
|
|
|
|
using System;
|
2017-07-19 13:42:47 +02:00
|
|
|
|
using Umbraco.Core;
|
|
|
|
|
|
using Umbraco.Core.Models;
|
|
|
|
|
|
using Umbraco.Core.Models.Membership;
|
|
|
|
|
|
using Umbraco.Core.Security;
|
|
|
|
|
|
using Umbraco.Core.Services;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Web.Models.Mapping
|
|
|
|
|
|
{
|
|
|
|
|
|
internal class MembershipScenarioResolver
|
|
|
|
|
|
{
|
2018-03-27 10:04:07 +02:00
|
|
|
|
private readonly IMemberTypeService _memberTypeService;
|
2017-07-19 13:42:47 +02:00
|
|
|
|
|
2018-03-27 10:04:07 +02:00
|
|
|
|
public MembershipScenarioResolver(IMemberTypeService memberTypeService)
|
2017-07-19 13:42:47 +02:00
|
|
|
|
{
|
|
|
|
|
|
_memberTypeService = memberTypeService;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public MembershipScenario Resolve(IMember source)
|
|
|
|
|
|
{
|
|
|
|
|
|
var provider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider();
|
|
|
|
|
|
|
|
|
|
|
|
if (provider.IsUmbracoMembershipProvider())
|
|
|
|
|
|
{
|
|
|
|
|
|
return MembershipScenario.NativeUmbraco;
|
|
|
|
|
|
}
|
2018-03-27 10:04:07 +02:00
|
|
|
|
var memberType = _memberTypeService.Get(Constants.Conventions.MemberTypes.DefaultAlias);
|
2017-07-19 13:42:47 +02:00
|
|
|
|
return memberType != null
|
|
|
|
|
|
? MembershipScenario.CustomProviderWithUmbracoLink
|
|
|
|
|
|
: MembershipScenario.StandaloneCustomProvider;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2017-07-20 11:21:28 +02:00
|
|
|
|
}
|