using Abp.Domain.Entities; using Abp.Domain.Entities.Auditing; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Abp.EntityHistory { [Table("AbpEntityChangeSets")] public class EntityChangeSet : Entity, IHasCreationTime, IMayHaveTenant, IExtendableObject { /// /// Maximum length of property. /// public const int MaxBrowserInfoLength = 512; /// /// Maximum length of property. /// public const int MaxClientIpAddressLength = 64; /// /// Maximum length of property. /// public const int MaxClientNameLength = 128; /// /// Maximum length of property. /// public const int MaxReasonLength = 256; /// /// Browser information if this entity is changed in a web request. /// [StringLength(MaxBrowserInfoLength)] public virtual string BrowserInfo { get; set; } /// /// IP address of the client. /// [StringLength(MaxClientIpAddressLength)] public virtual string ClientIpAddress { get; set; } /// /// Name (generally computer name) of the client. /// [StringLength(MaxClientNameLength)] public virtual string ClientName { get; set; } /// /// Creation time of this entity. /// public virtual DateTime CreationTime { get; set; } /// /// A JSON formatted string to extend the containing object. /// public virtual string ExtensionData { get; set; } /// /// ImpersonatorTenantId. /// public virtual int? ImpersonatorTenantId { get; set; } /// /// ImpersonatorUserId. /// public virtual long? ImpersonatorUserId { get; set; } /// /// Reason for this change set. /// [StringLength(MaxReasonLength)] public virtual string Reason { get; set; } /// /// TenantId. /// public virtual int? TenantId { get; set; } /// /// UserId. /// public virtual long? UserId { get; set; } /// /// Entity changes grouped in this change set. /// public virtual IList EntityChanges { get; set; } public EntityChangeSet() { EntityChanges = new List(); } } }