diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentApp.cs b/src/Umbraco.Abstractions/Models/ContentEditing/ContentApp.cs similarity index 100% rename from src/Umbraco.Core/Models/ContentEditing/ContentApp.cs rename to src/Umbraco.Abstractions/Models/ContentEditing/ContentApp.cs diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentAppBadge.cs b/src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadge.cs similarity index 90% rename from src/Umbraco.Core/Models/ContentEditing/ContentAppBadge.cs rename to src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadge.cs index ba11fd338d..19dbd2b8e7 100644 --- a/src/Umbraco.Core/Models/ContentEditing/ContentAppBadge.cs +++ b/src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadge.cs @@ -1,9 +1,7 @@ -namespace Umbraco.Core.Models.ContentEditing +using System.Runtime.Serialization; + +namespace Umbraco.Core.Models.ContentEditing { - using System.Runtime.Serialization; - - using Umbraco.Core.Events; - /// /// Represents a content app badge /// diff --git a/src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadgeType.cs b/src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadgeType.cs new file mode 100644 index 0000000000..a46fa7d3a9 --- /dev/null +++ b/src/Umbraco.Abstractions/Models/ContentEditing/ContentAppBadgeType.cs @@ -0,0 +1,25 @@ +using System.Runtime.Serialization; + +namespace Umbraco.Core.Models.ContentEditing +{ + // TODO: This was marked with `[StringEnumConverter]` to inform the serializer + // to serialize the values to string instead of INT (which is the default) + // so we need to either invent our own attribute and make the implementation aware of it + // or ... something else? + + /// + /// Represent the content app badge types + /// + [DataContract(Name = "contentAppBadgeType")] + public enum ContentAppBadgeType + { + [EnumMember(Value = "default")] + Default = 0, + + [EnumMember(Value = "warning")] + Warning = 1, + + [EnumMember(Value = "alert")] + Alert = 2 + } +} diff --git a/src/Umbraco.Core/Models/ContentEditing/IContentAppFactory.cs b/src/Umbraco.Abstractions/Models/ContentEditing/IContentAppFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/ContentEditing/IContentAppFactory.cs rename to src/Umbraco.Abstractions/Models/ContentEditing/IContentAppFactory.cs diff --git a/src/Umbraco.Abstractions/Models/Entities/EntityBase.cs b/src/Umbraco.Abstractions/Models/Entities/EntityBase.cs index 3d312eea4f..d848d3f404 100644 --- a/src/Umbraco.Abstractions/Models/Entities/EntityBase.cs +++ b/src/Umbraco.Abstractions/Models/Entities/EntityBase.cs @@ -80,37 +80,7 @@ namespace Umbraco.Core.Models.Entities _id = default; _key = Guid.Empty; _hasIdentity = false; - } - - /// - /// Updates the entity when it is being saved for the first time. - /// - internal virtual void AddingEntity() - { - var now = DateTime.Now; - - // set the create and update dates, if not already set - if (IsPropertyDirty("CreateDate") == false || _createDate == default) - CreateDate = now; - if (IsPropertyDirty("UpdateDate") == false || _updateDate == default) - UpdateDate = now; - } - - /// - /// Updates the entity when it is being saved. - /// - internal virtual void UpdatingEntity() - { - var now = DateTime.Now; - - // just in case - if (_createDate == default) - CreateDate = now; - - // set the update date if not already set - if (IsPropertyDirty("UpdateDate") == false || _updateDate == default) - UpdateDate = now; - } + } public virtual bool Equals(EntityBase other) { diff --git a/src/Umbraco.Core/Models/Entities/EntityExtensions.cs b/src/Umbraco.Abstractions/Models/Entities/EntityExtensions.cs similarity index 88% rename from src/Umbraco.Core/Models/Entities/EntityExtensions.cs rename to src/Umbraco.Abstractions/Models/Entities/EntityExtensions.cs index 2ee6a2d5ed..1e51f81d88 100644 --- a/src/Umbraco.Core/Models/Entities/EntityExtensions.cs +++ b/src/Umbraco.Abstractions/Models/Entities/EntityExtensions.cs @@ -2,12 +2,12 @@ namespace Umbraco.Core.Models.Entities { - internal static class EntityExtensions + public static class EntityExtensions { /// /// Updates the entity when it is being saved. /// - internal static void UpdatingEntity(this IEntity entity) + public static void UpdatingEntity(this IEntity entity) { var now = DateTime.Now; @@ -27,7 +27,7 @@ namespace Umbraco.Core.Models.Entities /// /// Updates the entity when it is being saved for the first time. /// - internal static void AddingEntity(this IEntity entity) + public static void AddingEntity(this IEntity entity) { var now = DateTime.Now; var canBeDirty = entity as ICanBeDirty; diff --git a/src/Umbraco.Core/Models/Entities/IMediaEntitySlim.cs b/src/Umbraco.Abstractions/Models/Entities/IMediaEntitySlim.cs similarity index 100% rename from src/Umbraco.Core/Models/Entities/IMediaEntitySlim.cs rename to src/Umbraco.Abstractions/Models/Entities/IMediaEntitySlim.cs diff --git a/src/Umbraco.Core/Models/Entities/IMemberEntitySlim.cs b/src/Umbraco.Abstractions/Models/Entities/IMemberEntitySlim.cs similarity index 100% rename from src/Umbraco.Core/Models/Entities/IMemberEntitySlim.cs rename to src/Umbraco.Abstractions/Models/Entities/IMemberEntitySlim.cs diff --git a/src/Umbraco.Core/Models/Entities/MediaEntitySlim.cs b/src/Umbraco.Abstractions/Models/Entities/MediaEntitySlim.cs similarity index 100% rename from src/Umbraco.Core/Models/Entities/MediaEntitySlim.cs rename to src/Umbraco.Abstractions/Models/Entities/MediaEntitySlim.cs diff --git a/src/Umbraco.Core/Models/Entities/MemberEntitySlim.cs b/src/Umbraco.Abstractions/Models/Entities/MemberEntitySlim.cs similarity index 100% rename from src/Umbraco.Core/Models/Entities/MemberEntitySlim.cs rename to src/Umbraco.Abstractions/Models/Entities/MemberEntitySlim.cs diff --git a/src/Umbraco.Core/Models/Membership/ContentPermissionSet.cs b/src/Umbraco.Abstractions/Models/Membership/ContentPermissionSet.cs similarity index 100% rename from src/Umbraco.Core/Models/Membership/ContentPermissionSet.cs rename to src/Umbraco.Abstractions/Models/Membership/ContentPermissionSet.cs diff --git a/src/Umbraco.Abstractions/Models/Membership/MembershipScenario.cs b/src/Umbraco.Abstractions/Models/Membership/MembershipScenario.cs index ec092f83c1..6fe587e1ce 100644 --- a/src/Umbraco.Abstractions/Models/Membership/MembershipScenario.cs +++ b/src/Umbraco.Abstractions/Models/Membership/MembershipScenario.cs @@ -6,6 +6,8 @@ /// public enum MembershipScenario { + //TODO: This will become obsolete when we get asp.net identity members in place + /// /// The member is based on the native Umbraco members (IMember + Umbraco membership provider) /// diff --git a/src/Umbraco.Core/Models/Packaging/CompiledPackage.cs b/src/Umbraco.Abstractions/Models/Packaging/CompiledPackage.cs similarity index 100% rename from src/Umbraco.Core/Models/Packaging/CompiledPackage.cs rename to src/Umbraco.Abstractions/Models/Packaging/CompiledPackage.cs diff --git a/src/Umbraco.Core/Models/Packaging/CompiledPackageDocument.cs b/src/Umbraco.Abstractions/Models/Packaging/CompiledPackageDocument.cs similarity index 100% rename from src/Umbraco.Core/Models/Packaging/CompiledPackageDocument.cs rename to src/Umbraco.Abstractions/Models/Packaging/CompiledPackageDocument.cs diff --git a/src/Umbraco.Core/Models/Packaging/CompiledPackageFile.cs b/src/Umbraco.Abstractions/Models/Packaging/CompiledPackageFile.cs similarity index 100% rename from src/Umbraco.Core/Models/Packaging/CompiledPackageFile.cs rename to src/Umbraco.Abstractions/Models/Packaging/CompiledPackageFile.cs diff --git a/src/Umbraco.Core/Models/Packaging/PreInstallWarnings.cs b/src/Umbraco.Abstractions/Models/Packaging/PreInstallWarnings.cs similarity index 100% rename from src/Umbraco.Core/Models/Packaging/PreInstallWarnings.cs rename to src/Umbraco.Abstractions/Models/Packaging/PreInstallWarnings.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/ILivePublishedModelFactory.cs b/src/Umbraco.Abstractions/Models/PublishedContent/ILivePublishedModelFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/ILivePublishedModelFactory.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/ILivePublishedModelFactory.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedContent.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedContent.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedContent.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedContent.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedContentType.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedContentType.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedContentType.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedContentType.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedElement.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedElement.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedElement.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedElement.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedModelFactory.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedModelFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedModelFactory.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedModelFactory.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedProperty.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedProperty.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedProperty.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedProperty.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedPropertyType.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedPropertyType.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedPropertyType.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedPropertyType.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/IPublishedValueFallback.cs b/src/Umbraco.Abstractions/Models/PublishedContent/IPublishedValueFallback.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/IPublishedValueFallback.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/IPublishedValueFallback.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/NoopPublishedModelFactory.cs b/src/Umbraco.Abstractions/Models/PublishedContent/NoopPublishedModelFactory.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/NoopPublishedModelFactory.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/NoopPublishedModelFactory.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/NoopPublishedValueFallback.cs b/src/Umbraco.Abstractions/Models/PublishedContent/NoopPublishedValueFallback.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/NoopPublishedValueFallback.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/NoopPublishedValueFallback.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentTypeConverter.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedContentTypeConverter.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedContentTypeConverter.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedContentTypeConverter.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentWrapped.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedContentWrapped.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedContentWrapped.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedContentWrapped.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedElementModel.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedElementModel.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedElementModel.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedElementModel.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedElementWrapped.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedElementWrapped.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedElementWrapped.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedElementWrapped.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedModelAttribute.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedModelAttribute.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedModelAttribute.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedModelAttribute.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedPropertyBase.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedPropertyBase.cs similarity index 97% rename from src/Umbraco.Core/Models/PublishedContent/PublishedPropertyBase.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedPropertyBase.cs index e11d2391ec..33f8e94139 100644 --- a/src/Umbraco.Core/Models/PublishedContent/PublishedPropertyBase.cs +++ b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedPropertyBase.cs @@ -7,7 +7,7 @@ namespace Umbraco.Core.Models.PublishedContent /// Provides a base class for IPublishedProperty implementations which converts and caches /// the value source to the actual value to use when rendering content. /// - internal abstract class PublishedPropertyBase : IPublishedProperty + public abstract class PublishedPropertyBase : IPublishedProperty { /// /// Initializes a new instance of the class. diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedSearchResult.cs b/src/Umbraco.Abstractions/Models/PublishedContent/PublishedSearchResult.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/PublishedSearchResult.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/PublishedSearchResult.cs diff --git a/src/Umbraco.Core/Models/PublishedContent/RawValueProperty.cs b/src/Umbraco.Abstractions/Models/PublishedContent/RawValueProperty.cs similarity index 97% rename from src/Umbraco.Core/Models/PublishedContent/RawValueProperty.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/RawValueProperty.cs index 10f999532f..596840cf6a 100644 --- a/src/Umbraco.Core/Models/PublishedContent/RawValueProperty.cs +++ b/src/Umbraco.Abstractions/Models/PublishedContent/RawValueProperty.cs @@ -14,7 +14,7 @@ namespace Umbraco.Core.Models.PublishedContent /// Does not support variations: the ctor throws if the property type /// supports variations. /// - internal class RawValueProperty : PublishedPropertyBase + public class RawValueProperty : PublishedPropertyBase { private readonly object _sourceValue; //the value in the db private readonly Lazy _objectValue; diff --git a/src/Umbraco.Core/Models/PublishedContent/UrlMode.cs b/src/Umbraco.Abstractions/Models/PublishedContent/UrlMode.cs similarity index 100% rename from src/Umbraco.Core/Models/PublishedContent/UrlMode.cs rename to src/Umbraco.Abstractions/Models/PublishedContent/UrlMode.cs diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentAppBadgeType.cs b/src/Umbraco.Core/Models/ContentEditing/ContentAppBadgeType.cs deleted file mode 100644 index c3217099b6..0000000000 --- a/src/Umbraco.Core/Models/ContentEditing/ContentAppBadgeType.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Umbraco.Core.Models.ContentEditing -{ - using System.Runtime.Serialization; - - using Newtonsoft.Json; - using Newtonsoft.Json.Converters; - - /// - /// Represent the content app badge types - /// - [DataContract(Name = "contentAppBadgeType")] - [JsonConverter(typeof(StringEnumConverter))] - public enum ContentAppBadgeType - { - [EnumMember(Value = "default")] - Default = 0, - - [EnumMember(Value = "warning")] - Warning = 1, - - [EnumMember(Value = "alert")] - Alert = 2 - } -} diff --git a/src/Umbraco.Core/Models/Membership/MembershipUserExtensions.cs b/src/Umbraco.Core/Models/Membership/MembershipUserExtensions.cs index 831300051b..5100380ead 100644 --- a/src/Umbraco.Core/Models/Membership/MembershipUserExtensions.cs +++ b/src/Umbraco.Core/Models/Membership/MembershipUserExtensions.cs @@ -30,7 +30,7 @@ namespace Umbraco.Core.Models.Membership /// Returns the currently configured membership scenario for members in umbraco /// /// - internal static MembershipScenario GetMembershipScenario(this IMemberService memberService) + internal static MembershipScenario GetMembershipScenario(this IMemberTypeService memberTypeService) { if (_scenario.HasValue == false) { @@ -39,7 +39,7 @@ namespace Umbraco.Core.Models.Membership { return MembershipScenario.NativeUmbraco; } - var memberType = Current.Services.MemberTypeService.Get(Constants.Conventions.MemberTypes.DefaultAlias); + var memberType = memberTypeService.Get(Constants.Conventions.MemberTypes.DefaultAlias); return memberType != null ? MembershipScenario.CustomProviderWithUmbracoLink : MembershipScenario.StandaloneCustomProvider; diff --git a/src/Umbraco.Core/Serialization/JsonNetSerializer.cs b/src/Umbraco.Core/Serialization/JsonNetSerializer.cs index a2a5f19082..16d8668394 100644 --- a/src/Umbraco.Core/Serialization/JsonNetSerializer.cs +++ b/src/Umbraco.Core/Serialization/JsonNetSerializer.cs @@ -4,19 +4,25 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; +using Newtonsoft.Json.Converters; namespace Umbraco.Core.Serialization { public class JsonNetSerializer : IJsonSerializer { + private static readonly JsonConverter[] _defaultConverters = new JsonConverter[] + { + new StringEnumConverter() + }; + public string Serialize(object input) { - return JsonConvert.SerializeObject(input); + return JsonConvert.SerializeObject(input, _defaultConverters); } public T Deserialize(string input) { - return JsonConvert.DeserializeObject(input); + return JsonConvert.DeserializeObject(input, _defaultConverters); } } } diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 65776ab57c..1c1bd30418 100755 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -202,11 +202,6 @@ - - - - - @@ -223,6 +218,7 @@ + @@ -230,7 +226,6 @@ - @@ -238,32 +233,17 @@ - - - - - - - - - - - - - - - @@ -412,12 +392,8 @@ - - - - @@ -554,7 +530,6 @@ - @@ -567,7 +542,6 @@ - @@ -575,18 +549,11 @@ - - - - - - - @@ -1095,6 +1062,8 @@ Umbraco.Abstractions - + + + \ No newline at end of file diff --git a/src/Umbraco.Web/Editors/Binders/MemberBinder.cs b/src/Umbraco.Web/Editors/Binders/MemberBinder.cs index 3ba7d32560..21810272ea 100644 --- a/src/Umbraco.Web/Editors/Binders/MemberBinder.cs +++ b/src/Umbraco.Web/Editors/Binders/MemberBinder.cs @@ -66,7 +66,7 @@ namespace Umbraco.Web.Editors.Binders /// private IMember GetExisting(MemberSave model) { - var scenario = _services.MemberService.GetMembershipScenario(); + var scenario = _services.MemberTypeService.GetMembershipScenario(); var provider = Core.Security.MembershipProviderExtensions.GetMembersMembershipProvider(); switch (scenario) { diff --git a/src/Umbraco.Web/Editors/ContentController.cs b/src/Umbraco.Web/Editors/ContentController.cs index 11cc59a464..9c2cc399fa 100644 --- a/src/Umbraco.Web/Editors/ContentController.cs +++ b/src/Umbraco.Web/Editors/ContentController.cs @@ -2310,7 +2310,7 @@ namespace Umbraco.Web.Editors .Select(rule => rule.RuleValue).ToArray(); MemberDisplay[] members; - switch (Services.MemberService.GetMembershipScenario()) + switch (Services.MemberTypeService.GetMembershipScenario()) { case MembershipScenario.NativeUmbraco: members = usernames diff --git a/src/Umbraco.Web/Editors/MemberController.cs b/src/Umbraco.Web/Editors/MemberController.cs index 13f0ed86c4..7fd293d9b5 100644 --- a/src/Umbraco.Web/Editors/MemberController.cs +++ b/src/Umbraco.Web/Editors/MemberController.cs @@ -57,7 +57,7 @@ namespace Umbraco.Web.Editors /// protected MembershipScenario MembershipScenario { - get { return Services.MemberService.GetMembershipScenario(); } + get { return Services.MemberTypeService.GetMembershipScenario(); } } public PagedResult GetPagedResults( diff --git a/src/Umbraco.Web/Models/Mapping/MemberTabsAndPropertiesMapper.cs b/src/Umbraco.Web/Models/Mapping/MemberTabsAndPropertiesMapper.cs index 81d75de498..4173e9a943 100644 --- a/src/Umbraco.Web/Models/Mapping/MemberTabsAndPropertiesMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/MemberTabsAndPropertiesMapper.cs @@ -126,7 +126,7 @@ namespace Umbraco.Web.Models.Mapping Value = _localizedTextService.UmbracoDictionaryTranslate(member.ContentType.Name), View = Current.PropertyEditors[Constants.PropertyEditors.Aliases.Label].GetValueEditor().View }, - GetLoginProperty(_memberService, member, _localizedTextService), + GetLoginProperty(_memberTypeService, member, _localizedTextService), new ContentPropertyDisplay { Alias = $"{Constants.PropertyEditors.InternalGenericPropertiesPrefix}email", @@ -208,7 +208,7 @@ namespace Umbraco.Web.Models.Mapping /// /// Returns the login property display field /// - /// + /// /// /// /// @@ -218,7 +218,7 @@ namespace Umbraco.Web.Models.Mapping /// the membership provider is a custom one, we cannot allow changing the username because MembershipProvider's do not actually natively /// allow that. /// - internal static ContentPropertyDisplay GetLoginProperty(IMemberService memberService, IMember member, ILocalizedTextService localizedText) + internal static ContentPropertyDisplay GetLoginProperty(IMemberTypeService memberTypeService, IMember member, ILocalizedTextService localizedText) { var prop = new ContentPropertyDisplay { @@ -227,7 +227,7 @@ namespace Umbraco.Web.Models.Mapping Value = member.Username }; - var scenario = memberService.GetMembershipScenario(); + var scenario = memberTypeService.GetMembershipScenario(); // only allow editing if this is a new member, or if the membership provider is the Umbraco one if (member.HasIdentity == false || scenario == MembershipScenario.NativeUmbraco)