Minor adjustment related to U4-2560 Working with ContentService can give 2 versions of a document as "newest"

This commit is contained in:
Morten Christensen
2013-08-05 14:30:03 +02:00
parent d78a03a610
commit 226a13c6e1

View File

@@ -338,19 +338,22 @@ namespace Umbraco.Core.Persistence.Repositories
}
}
//Look up (newest) entries by id in cmsDocument table to set newest = false
//NOTE: This should only be done for all other versions then the current one, so we don't cause the same entry to be updated multiple times.
var documentDtos =
Database.Query<DocumentDto>(
"WHERE nodeId = @Id AND newest = @IsNewest AND NOT(versionId = @VersionId)",
new {Id = entity.Id, IsNewest = true, VersionId = dto.ContentVersionDto.VersionId});
foreach (var documentDto in documentDtos)
{
var docDto = documentDto;
docDto.Newest = false;
Database.Update(docDto);
}
var contentVersionDto = dto.ContentVersionDto;
if (shouldCreateNewVersion)
{
//Look up (newest) entries by id in cmsDocument table to set newest = false
//NOTE: This is only relevant when a new version is created, which is why its done inside this if-statement.
var documentDtos = Database.Fetch<DocumentDto>("WHERE nodeId = @Id AND newest = @IsNewest", new { Id = entity.Id, IsNewest = true });
foreach (var documentDto in documentDtos)
{
var docDto = documentDto;
docDto.Newest = false;
Database.Update(docDto);
}
//Create a new version - cmsContentVersion
//Assumes a new Version guid and Version date (modified date) has been set
Database.Insert(contentVersionDto);