diff --git a/IRaCIS.Core.Domain/BaseModel/Entity.cs b/IRaCIS.Core.Domain/BaseModel/Entity.cs index 939bf9f13..8482a17d4 100644 --- a/IRaCIS.Core.Domain/BaseModel/Entity.cs +++ b/IRaCIS.Core.Domain/BaseModel/Entity.cs @@ -17,4 +17,52 @@ namespace IRaCIS.Core.Domain.Models abstract TKey Id { get; set; } } + #region 减少实体属性,增加基类 + + public abstract class BaseAuditAddEntity : Entity, IAuditAdd + { + + public Guid CreateUserId { get; set; } + public DateTime CreateTime { get; set; } + } + + public abstract class BaseFullAuditEntity : Entity, IAuditUpdate, IAuditAdd + { + public Guid CreateUserId { get; set; } + public DateTime CreateTime { get; set; } + public Guid UpdateUserId { get; set; } + public DateTime UpdateTime { get; set; } + } + + + public abstract class BaseFullAuditDeleteEntity : Entity, IAuditUpdate, IAuditAdd, ISoftDelete + { + public Guid? DeleteUserId { get; set; } + public bool IsDeleted { get; set; } + public DateTime? DeletedTime { get; set; } + public Guid CreateUserId { get; set; } + public DateTime CreateTime { get; set; } + public Guid UpdateUserId { get; set; } + public DateTime UpdateTime { get; set; } + } + + + + public abstract class BaseAuditAddEntityWithUserName : Entity, IAuditAddWithUserName + { + public string CreateUser { get; set; } + + public Guid CreateUserId { get; set; } + public DateTime CreateTime { get; set; } + } + + public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate + { + public Guid UpdateUserId { get; set; } + public DateTime UpdateTime { get; set; } + } + + + #endregion + } diff --git a/IRaCIS.Core.Domain/BaseModel/IAuditAdd.cs b/IRaCIS.Core.Domain/BaseModel/IAuditAdd.cs index 70cd25e2b..4786c8e6d 100644 --- a/IRaCIS.Core.Domain/BaseModel/IAuditAdd.cs +++ b/IRaCIS.Core.Domain/BaseModel/IAuditAdd.cs @@ -19,7 +19,9 @@ namespace IRaCIS.Core.Domain.Models public interface IAuditAddWithUserName : IAuditAdd { - string CreateUser { get; set; } + public string CreateUser { get; set; } } + + } diff --git a/IRaCIS.Core.Domain/BaseModel/IAuditUpdate.cs b/IRaCIS.Core.Domain/BaseModel/IAuditUpdate.cs index e154ccecc..05d422a16 100644 --- a/IRaCIS.Core.Domain/BaseModel/IAuditUpdate.cs +++ b/IRaCIS.Core.Domain/BaseModel/IAuditUpdate.cs @@ -5,7 +5,6 @@ namespace IRaCIS.Core.Domain.Models public interface IAuditUpdate where TKey : struct { public TKey UpdateUserId { get; set; } - //string UpdateUserName { get; set; } public DateTime UpdateTime { get; set; } } @@ -13,4 +12,9 @@ namespace IRaCIS.Core.Domain.Models { } + + + + + } diff --git a/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs b/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs index 8cfa535b1..e0549348b 100644 --- a/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs +++ b/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs @@ -2,16 +2,18 @@ namespace IRaCIS.Core.Domain.Models { - - - public interface ISoftDelete + public interface ISoftDelete where TKey : struct { - bool IsDeleted { get; set; } + public TKey? DeleteUserId { get; set; } + public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } - - public Guid? DeleteUserId { get; set; } } - + public interface ISoftDelete : ISoftDelete + { + + } + + } diff --git a/IRaCIS.Core.Domain/Common/CommonDocument.cs b/IRaCIS.Core.Domain/Common/CommonDocument.cs index 37a29aeee..579fb3da8 100644 --- a/IRaCIS.Core.Domain/Common/CommonDocument.cs +++ b/IRaCIS.Core.Domain/Common/CommonDocument.cs @@ -9,82 +9,30 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace IRaCIS.Core.Domain.Models { - /// - ///CommonDocument - /// - [Table("CommonDocument")] - public class CommonDocument : Entity, IAuditUpdate, IAuditAdd,ISoftDelete - { + /// + ///CommonDocument + /// + [Table("CommonDocument")] + public class CommonDocument : BaseFullAuditDeleteEntity + { + + public string Code { get; set; } = String.Empty; - [Required] - public string Code { get; set; } = String.Empty; + public string Name { get; set; } = String.Empty; - [Required] - public string Name { get; set; } = String.Empty; + public string NameCN { get; set; } = string.Empty; - public string NameCN { get; set; } = string.Empty; - - /// - /// Path - /// - [Required] - public string Path { get; set; } = String.Empty; - - /// - /// CreateTime - /// - [Required] - public DateTime CreateTime { get; set; } - - /// - /// CreateUserId - /// - [Required] - public Guid CreateUserId { get; set; } - - /// - /// UpdateTime - /// - [Required] - public DateTime UpdateTime { get; set; } - - /// - /// UpdateUserId - /// - [Required] - public Guid UpdateUserId { get; set; } - - /// - /// Description - /// - [Required] - public string Description { get; set; } = String.Empty; - - /// - /// IsDeleted - /// - [Required] - public bool IsDeleted { get; set; } - - public DateTime? DeletedTime { get; set; } - - public Guid? DeleteUserId { get; set; } + public string Path { get; set; } = String.Empty; - public CriterionType? CriterionTypeEnum { get; set; } - public CommonDocumentFileType FileTypeEnum { get; set; } - public EmailBusinessScenario BusinessScenarioEnum { get; set; } + public string Description { get; set; } = String.Empty; + + public CriterionType? CriterionTypeEnum { get; set; } + public CommonDocumentFileType FileTypeEnum { get; set; } + public EmailBusinessScenario BusinessScenarioEnum { get; set; } - //[Required] - //public Guid FileTypeId { get; set; } - //public Guid ModuleTypeId { get; set; } + } - - //public Dictionary FileType { get; set; } - //public Dictionary ModuleType { get; set; } - - } - -} +}