using Abp.Domain.Entities.Auditing; using Abp.Extensions; namespace Abp.Domain.Entities { /// /// Some useful extension methods for Entities. /// public static class EntityExtensions { /// /// Check if this Entity is null of marked as deleted. /// public static bool IsNullOrDeleted(this ISoftDelete entity) { return entity == null || entity.IsDeleted; } /// /// Undeletes this entity by setting to false and /// properties to null. /// public static void UnDelete(this ISoftDelete entity) { entity.IsDeleted = false; if (entity is IDeletionAudited) { var deletionAuditedEntity = entity.As(); deletionAuditedEntity.DeletionTime = null; deletionAuditedEntity.DeleterUserId = null; } } } }