diff --git a/src/Umbraco.Core/Models/Template.cs b/src/Umbraco.Core/Models/Template.cs
index be1601945e..e2ac7c0f5b 100644
--- a/src/Umbraco.Core/Models/Template.cs
+++ b/src/Umbraco.Core/Models/Template.cs
@@ -28,12 +28,8 @@ namespace Umbraco.Core.Models
{
base.Path = path;
ParentId = -1;
- Key = name.EncodeAsGuid();
_name = name.Replace("/", ".").Replace("\\", "");
_alias = alias.ToSafeAlias();
-
- CreateDate = DateTime.Now;
- UpdateDate = DateTime.Now;
}
[DataMember]
@@ -116,5 +112,17 @@ namespace Umbraco.Core.Models
return validFile && validExtension;
}
+
+ ///
+ /// Method to call when Entity is being saved
+ ///
+ /// Created date is set and a Unique key is assigned
+ internal override void AddingEntity()
+ {
+ base.AddingEntity();
+
+ if (Key == Guid.Empty)
+ Key = Guid.NewGuid();
+ }
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
index f3e11bc260..bcdab5b14d 100644
--- a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
@@ -186,6 +186,8 @@ namespace Umbraco.Core.Persistence.Repositories
//Save to db
var template = entity as Template;
+ template.AddingEntity();
+
var factory = new TemplateFactory(NodeObjectTypeId);
var dto = factory.BuildDto(template);
@@ -254,6 +256,7 @@ namespace Umbraco.Core.Persistence.Repositories
var templateDto = Database.SingleOrDefault("WHERE nodeId = @Id", new { Id = entity.Id });
//Save updated entity to db
var template = entity as Template;
+ template.UpdateDate = DateTime.Now;
var factory = new TemplateFactory(templateDto.PrimaryKey, NodeObjectTypeId);
var dto = factory.BuildDto(template);