| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace Abp.Domain.Entities.Auditing
- {
- /// <summary>
- /// A shortcut of <see cref="FullAuditedEntity{TPrimaryKey}"/> for most used primary key type (<see cref="int"/>).
- /// </summary>
- [Serializable]
- public abstract class FullAuditedEntity : FullAuditedEntity<int>, IEntity
- {
- }
- /// <summary>
- /// Implements <see cref="IFullAudited"/> to be a base class for full-audited entities.
- /// </summary>
- /// <typeparam name="TPrimaryKey">Type of the primary key of the entity</typeparam>
- [Serializable]
- public abstract class FullAuditedEntity<TPrimaryKey> : AuditedEntity<TPrimaryKey>, IFullAudited
- {
- /// <summary>
- /// Is this entity Deleted?
- /// </summary>
- public virtual bool IsDeleted { get; set; }
- /// <summary>
- /// Which user deleted this entity?
- /// </summary>
- public virtual long? DeleterUserId { get; set; }
- /// <summary>
- /// Deletion time of this entity.
- /// </summary>
- public virtual DateTime? DeletionTime { get; set; }
- }
- /// <summary>
- /// Implements <see cref="IFullAudited{TUser}"/> to be a base class for full-audited entities.
- /// </summary>
- /// <typeparam name="TPrimaryKey">Type of the primary key of the entity</typeparam>
- /// <typeparam name="TUser">Type of the user</typeparam>
- [Serializable]
- public abstract class FullAuditedEntity<TPrimaryKey, TUser> : AuditedEntity<TPrimaryKey, TUser>, IFullAudited<TUser>
- where TUser : IEntity<long>
- {
- /// <summary>
- /// Is this entity Deleted?
- /// </summary>
- public virtual bool IsDeleted { get; set; }
- /// <summary>
- /// Reference to the deleter user of this entity.
- /// </summary>
- [ForeignKey("DeleterUserId")]
- public virtual TUser DeleterUser { get; set; }
- /// <summary>
- /// Which user deleted this entity?
- /// </summary>
- public virtual long? DeleterUserId { get; set; }
- /// <summary>
- /// Deletion time of this entity.
- /// </summary>
- public virtual DateTime? DeletionTime { get; set; }
- }
- }
|