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