From b10064aef435c5ec782f731eb34bfcdc86c235c6 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 6 May 2022 09:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BD=AF=E5=88=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5DeleteUserId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs | 2 ++ IRaCIS.Core.Domain/Common/CommonDocument.cs | 2 ++ IRaCIS.Core.Domain/Document/SystemDocument.cs | 2 ++ IRaCIS.Core.Domain/Image/DicomSeries.cs | 2 ++ IRaCIS.Core.Domain/Image/DicomStudy.cs | 2 ++ IRaCIS.Core.Domain/SiteSurvey/TrialSiteSurvey.cs | 2 ++ IRaCIS.Core.Domain/Trial/Trial.cs | 1 + IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs | 2 ++ IRaCIS.Core.Domain/TrialSiteUser/TrialSiteUser.cs | 2 ++ IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs | 2 ++ IRaCIS.Core.Domain/Visit/Subject.cs | 2 ++ IRaCIS.Core.Domain/Visit/SubjectVisit.cs | 1 + IRaCIS.Core.Domain/Visit/VisitStage.cs | 2 ++ .../Context/Triggers/SoftDeleteTrigger.cs | 14 +++++++++++--- 14 files changed, 35 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs b/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs index 4ec763857..d6a9eb864 100644 --- a/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs +++ b/IRaCIS.Core.Domain/BaseModel/ISoftDelete.cs @@ -9,5 +9,7 @@ namespace IRaCIS.Core.Domain.Models bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + + public Guid? DeleteUserId { get; set; } } } diff --git a/IRaCIS.Core.Domain/Common/CommonDocument.cs b/IRaCIS.Core.Domain/Common/CommonDocument.cs index 8bb6871e2..2dd49f384 100644 --- a/IRaCIS.Core.Domain/Common/CommonDocument.cs +++ b/IRaCIS.Core.Domain/Common/CommonDocument.cs @@ -68,6 +68,8 @@ namespace IRaCIS.Core.Domain.Models public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + /// /// Code /// diff --git a/IRaCIS.Core.Domain/Document/SystemDocument.cs b/IRaCIS.Core.Domain/Document/SystemDocument.cs index 803d50dc6..35e6fceef 100644 --- a/IRaCIS.Core.Domain/Document/SystemDocument.cs +++ b/IRaCIS.Core.Domain/Document/SystemDocument.cs @@ -76,6 +76,8 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } + public Guid? DeleteUserId { get; set; } + } } diff --git a/IRaCIS.Core.Domain/Image/DicomSeries.cs b/IRaCIS.Core.Domain/Image/DicomSeries.cs index d348cd70f..3eba3eaf8 100644 --- a/IRaCIS.Core.Domain/Image/DicomSeries.cs +++ b/IRaCIS.Core.Domain/Image/DicomSeries.cs @@ -58,6 +58,8 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted {get;set;} public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + public bool IsReading { get; set; } = true; public string BodyPartForEdit { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Domain/Image/DicomStudy.cs b/IRaCIS.Core.Domain/Image/DicomStudy.cs index ea598cfff..0a9fcf130 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudy.cs @@ -102,6 +102,8 @@ namespace IRaCIS.Core.Domain.Models public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + } } diff --git a/IRaCIS.Core.Domain/SiteSurvey/TrialSiteSurvey.cs b/IRaCIS.Core.Domain/SiteSurvey/TrialSiteSurvey.cs index 87df58e9f..be84b0329 100644 --- a/IRaCIS.Core.Domain/SiteSurvey/TrialSiteSurvey.cs +++ b/IRaCIS.Core.Domain/SiteSurvey/TrialSiteSurvey.cs @@ -37,6 +37,8 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } + public Guid? DeleteUserId { get; set; } + /// /// TrialId /// diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs index b6e8f7546..fd5f96512 100644 --- a/IRaCIS.Core.Domain/Trial/Trial.cs +++ b/IRaCIS.Core.Domain/Trial/Trial.cs @@ -305,6 +305,7 @@ namespace IRaCIS.Core.Domain.Models public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } //public Guid? ReviewTypeId { get; set; } = Guid.Empty; diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs index d1b4e52f7..915f997e2 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs @@ -23,6 +23,8 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + //导航属性 [ForeignKey("SiteId")] diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteUser.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteUser.cs index e1d506590..0dd12b6ee 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteUser.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteUser.cs @@ -42,6 +42,8 @@ namespace IRaCIS.Core.Domain.Models public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + [ForeignKey("UserId")] public User User { get; set; } diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs index 7704d7a38..fc7a3e828 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs @@ -33,6 +33,8 @@ namespace IRaCIS.Core.Domain.Models public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + public DateTime? RemoveTime { get; set; } diff --git a/IRaCIS.Core.Domain/Visit/Subject.cs b/IRaCIS.Core.Domain/Visit/Subject.cs index d785ac735..308bd0fa7 100644 --- a/IRaCIS.Core.Domain/Visit/Subject.cs +++ b/IRaCIS.Core.Domain/Visit/Subject.cs @@ -84,5 +84,7 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + + public Guid? DeleteUserId { get; set; } } } diff --git a/IRaCIS.Core.Domain/Visit/SubjectVisit.cs b/IRaCIS.Core.Domain/Visit/SubjectVisit.cs index afd3c2448..a4ec907c2 100644 --- a/IRaCIS.Core.Domain/Visit/SubjectVisit.cs +++ b/IRaCIS.Core.Domain/Visit/SubjectVisit.cs @@ -142,6 +142,7 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } //导航属性 diff --git a/IRaCIS.Core.Domain/Visit/VisitStage.cs b/IRaCIS.Core.Domain/Visit/VisitStage.cs index f95f5ccba..4337f5da9 100644 --- a/IRaCIS.Core.Domain/Visit/VisitStage.cs +++ b/IRaCIS.Core.Domain/Visit/VisitStage.cs @@ -38,5 +38,7 @@ namespace IRaCIS.Core.Domain.Models public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } + public Guid? DeleteUserId { get; set; } + } } diff --git a/IRaCIS.Core.Infra.EFCore/Context/Triggers/SoftDeleteTrigger.cs b/IRaCIS.Core.Infra.EFCore/Context/Triggers/SoftDeleteTrigger.cs index b381ef034..7e405c232 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/Triggers/SoftDeleteTrigger.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/Triggers/SoftDeleteTrigger.cs @@ -3,12 +3,19 @@ using System.Threading; using System.Threading.Tasks; using EntityFrameworkCore.Triggered; using IRaCIS.Core.Domain.Models; +using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Application.Triggers { public class SoftDeleteTrigger : IBeforeSaveTrigger { + private readonly IUserInfo _userInfo; + + public SoftDeleteTrigger(IUserInfo userInfo) + { + _userInfo = userInfo; + } //Generator Detached 状态才会进去 误用 //modelBuilder.Entity(entityType.ClrType).Property(nameof(ISoftDelete.DeletedTime)).HasValueGenerator().ValueGeneratedOnAddOrUpdate(); @@ -18,7 +25,8 @@ namespace IRaCIS.Core.Application.Triggers { if (context.Entity.IsDeleted) { - context.Entity.DeletedTime=DateTime.UtcNow.AddHours(8); + context.Entity.DeleteUserId = _userInfo.Id; + context.Entity.DeletedTime = DateTime.UtcNow.AddHours(8); } else { @@ -26,8 +34,8 @@ namespace IRaCIS.Core.Application.Triggers } } - return Task.CompletedTask; - + return Task.CompletedTask; + } } } \ No newline at end of file