diff --git a/src/Umbraco.Core/Constants-DataTypes.cs b/src/Umbraco.Core/Constants-DataTypes.cs index d5d0e99dab..0e95e57b1b 100644 --- a/src/Umbraco.Core/Constants-DataTypes.cs +++ b/src/Umbraco.Core/Constants-DataTypes.cs @@ -7,7 +7,7 @@ namespace Umbraco.Core /// /// Defines the identifiers for Umbraco data types as constants for easy centralized access/management. /// - public static class DataTypes + internal static class DataTypes { public static class ReservedPreValueKeys diff --git a/src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs b/src/Umbraco.Core/Models/DataTypeExtensions.cs similarity index 79% rename from src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs rename to src/Umbraco.Core/Models/DataTypeExtensions.cs index 45c4420820..47702de2c5 100644 --- a/src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs +++ b/src/Umbraco.Core/Models/DataTypeExtensions.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; namespace Umbraco.Core.Models { - public static class DataTypeDefinitionExtensions + internal static class DataTypeExtensions { private static readonly ISet IdsOfBuildInDataTypes = new HashSet() { @@ -37,11 +37,19 @@ namespace Umbraco.Core.Models /// /// Returns true if this date type is build-in/default. /// - /// The data type definition. + /// The data type definition. /// - public static bool IsBuildInDataType(this IDataTypeDefinition dataTypeDefinition) + public static bool IsBuildInDataType(this IDataTypeDefinition dataType) { - return IdsOfBuildInDataTypes.Contains(dataTypeDefinition.Key); + return IsBuildInDataType(dataType.Key); + } + + /// + /// Returns true if this date type is build-in/default. + /// + public static bool IsBuildInDataType(Guid key) + { + return IdsOfBuildInDataTypes.Contains(key); } } } diff --git a/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs b/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs index 63006653ab..bea83558a5 100644 --- a/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs +++ b/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs @@ -1,17 +1,20 @@ using System; +using Umbraco.Core.Models; namespace Umbraco.Core.Services { - public static class DateTypeServiceExtensions + internal static class DateTypeServiceExtensions { public static bool IsDataTypeIgnoringUserStartNodes(this IDataTypeService dataTypeService, Guid key) { + if (DataTypeExtensions.IsBuildInDataType(key)) return false; //built in ones can never be ignoring start nodes + var dataType = dataTypeService.GetDataTypeDefinitionById(key); if (dataType != null) { var preValues = dataTypeService.GetPreValuesCollectionByDataTypeId(dataType.Id); - if (preValues.PreValuesAsDictionary.TryGetValue( + if (preValues.FormatAsDictionary().TryGetValue( Constants.DataTypes.ReservedPreValueKeys.IgnoreUserStartNodes, out var preValue)) return preValue.Value.InvariantEquals("1"); }