2019-06-28 09:19:11 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Core.Models.Entities
|
|
|
|
|
|
{
|
2019-11-06 14:18:06 +01:00
|
|
|
|
public static class EntityExtensions
|
2019-06-28 09:19:11 +02:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Updates the entity when it is being saved.
|
|
|
|
|
|
/// </summary>
|
2019-11-06 14:18:06 +01:00
|
|
|
|
public static void UpdatingEntity(this IEntity entity)
|
2019-06-28 09:19:11 +02:00
|
|
|
|
{
|
|
|
|
|
|
var now = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
if (entity.CreateDate == default)
|
|
|
|
|
|
{
|
|
|
|
|
|
entity.CreateDate = now;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// set the update date if not already set
|
|
|
|
|
|
if (entity.UpdateDate == default || (entity is ICanBeDirty canBeDirty && canBeDirty.IsPropertyDirty("UpdateDate") == false))
|
|
|
|
|
|
{
|
|
|
|
|
|
entity.UpdateDate = now;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Updates the entity when it is being saved for the first time.
|
|
|
|
|
|
/// </summary>
|
2019-11-06 14:18:06 +01:00
|
|
|
|
public static void AddingEntity(this IEntity entity)
|
2019-06-28 09:19:11 +02:00
|
|
|
|
{
|
|
|
|
|
|
var now = DateTime.Now;
|
|
|
|
|
|
var canBeDirty = entity as ICanBeDirty;
|
|
|
|
|
|
|
|
|
|
|
|
// set the create and update dates, if not already set
|
|
|
|
|
|
if (entity.CreateDate == default || canBeDirty?.IsPropertyDirty("CreateDate") == false)
|
|
|
|
|
|
{
|
|
|
|
|
|
entity.CreateDate = now;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (entity.UpdateDate == default || canBeDirty?.IsPropertyDirty("UpdateDate") == false)
|
|
|
|
|
|
{
|
|
|
|
|
|
entity.UpdateDate = now;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|