diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/DocumentRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/DocumentRepository.cs index 1ed8404f78..57fc10ab7f 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/DocumentRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/DocumentRepository.cs @@ -1232,12 +1232,12 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement { // need templates var templateId = dto.DocumentVersionDto.TemplateId; - if (templateId.HasValue && templateId.Value > 0) + if (templateId.HasValue) templateIds.Add(templateId.Value); if (dto.Published) { templateId = dto.PublishedVersionDto.TemplateId; - if (templateId.HasValue && templateId.Value > 0) + if (templateId.HasValue) templateIds.Add(templateId.Value); } } @@ -1334,7 +1334,7 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement content.DisableChangeTracking(); // get template - if (dto.DocumentVersionDto.TemplateId.HasValue && dto.DocumentVersionDto.TemplateId.Value > 0) + if (dto.DocumentVersionDto.TemplateId.HasValue) content.TemplateId = dto.DocumentVersionDto.TemplateId; // get properties - indexed by version id diff --git a/src/Umbraco.PublishedCache.NuCache/DataSource/BTree.ContentDataSerializer.cs b/src/Umbraco.PublishedCache.NuCache/DataSource/BTree.ContentDataSerializer.cs index 99ce9365fc..0f2d9f1db3 100644 --- a/src/Umbraco.PublishedCache.NuCache/DataSource/BTree.ContentDataSerializer.cs +++ b/src/Umbraco.PublishedCache.NuCache/DataSource/BTree.ContentDataSerializer.cs @@ -22,15 +22,22 @@ namespace Umbraco.Cms.Infrastructure.PublishedCache.DataSource public ContentData ReadFrom(Stream stream) { + var published = PrimitiveSerializer.Boolean.ReadFrom(stream); + var name = PrimitiveSerializer.String.ReadFrom(stream); + var urlSegment = PrimitiveSerializer.String.ReadFrom(stream); + var versionId = PrimitiveSerializer.Int32.ReadFrom(stream); + var versionDate = PrimitiveSerializer.DateTime.ReadFrom(stream); + var writerId = PrimitiveSerializer.Int32.ReadFrom(stream); + var templateId = PrimitiveSerializer.Int32.ReadFrom(stream); return new ContentData { - Published = PrimitiveSerializer.Boolean.ReadFrom(stream), - Name = PrimitiveSerializer.String.ReadFrom(stream), - UrlSegment = PrimitiveSerializer.String.ReadFrom(stream), - VersionId = PrimitiveSerializer.Int32.ReadFrom(stream), - VersionDate = PrimitiveSerializer.DateTime.ReadFrom(stream), - WriterId = PrimitiveSerializer.Int32.ReadFrom(stream), - TemplateId = PrimitiveSerializer.Int32.ReadFrom(stream), + Published = published, + Name = name, + UrlSegment = urlSegment, + VersionId = versionId, + VersionDate = versionDate, + WriterId = writerId, + TemplateId = templateId == 0 ? (int?)null : templateId, Properties = _dictionaryOfPropertyDataSerializer.ReadFrom(stream), // TODO: We don't want to allocate empty arrays CultureInfos = DefaultCultureVariationsSerializer.ReadFrom(stream) // TODO: We don't want to allocate empty arrays }; @@ -44,10 +51,7 @@ namespace Umbraco.Cms.Infrastructure.PublishedCache.DataSource PrimitiveSerializer.Int32.WriteTo(value.VersionId, stream); PrimitiveSerializer.DateTime.WriteTo(value.VersionDate, stream); PrimitiveSerializer.Int32.WriteTo(value.WriterId, stream); - if (value.TemplateId.HasValue) - { - PrimitiveSerializer.Int32.WriteTo(value.TemplateId.Value, stream); - } + PrimitiveSerializer.Int32.WriteTo(value.TemplateId ?? 0, stream); _dictionaryOfPropertyDataSerializer.WriteTo(value.Properties, stream); DefaultCultureVariationsSerializer.WriteTo(value.CultureInfos, stream); } diff --git a/src/Umbraco.PublishedCache.NuCache/DataSource/ContentSourceDto.cs b/src/Umbraco.PublishedCache.NuCache/DataSource/ContentSourceDto.cs index 2d456e4c0f..78a8ea6e81 100644 --- a/src/Umbraco.PublishedCache.NuCache/DataSource/ContentSourceDto.cs +++ b/src/Umbraco.PublishedCache.NuCache/DataSource/ContentSourceDto.cs @@ -1,4 +1,4 @@ -using System; +using System; using Umbraco.Cms.Core.Models; namespace Umbraco.Cms.Infrastructure.PublishedCache.DataSource diff --git a/src/Umbraco.PublishedCache.NuCache/Persistence/NuCacheContentRepository.cs b/src/Umbraco.PublishedCache.NuCache/Persistence/NuCacheContentRepository.cs index 2919edb8c3..4973e54380 100644 --- a/src/Umbraco.PublishedCache.NuCache/Persistence/NuCacheContentRepository.cs +++ b/src/Umbraco.PublishedCache.NuCache/Persistence/NuCacheContentRepository.cs @@ -824,7 +824,7 @@ AND cmsContentNu.nodeId IS NULL { Name = dto.EditName, Published = published, - TemplateId = dto.EditTemplateId, + TemplateId = dto.EditTemplateId == 0 ? (int?)null : dto.EditTemplateId, VersionId = dto.VersionId, VersionDate = dto.EditVersionDate, WriterId = dto.EditWriterId, @@ -856,7 +856,7 @@ AND cmsContentNu.nodeId IS NULL Name = dto.PubName, UrlSegment = deserializedContent.UrlSegment, Published = published, - TemplateId = dto.PubTemplateId, + TemplateId = dto.PubTemplateId == 0 ? (int?)null : dto.PubTemplateId, VersionId = dto.VersionId, VersionDate = dto.PubVersionDate, WriterId = dto.PubWriterId,