Uat_Study
he 2022-05-16 17:37:39 +08:00
parent 8ce368e16d
commit 707cd14f7a
1 changed files with 44 additions and 4 deletions

View File

@ -50,8 +50,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
public async Task IncomingEntitys(List<EntityEntry> entitys) public async Task IncomingEntitys(List<EntityEntry> entitys)
{ {
// 修改 // 修改
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Modified && (!typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType()) await InsertAddEntitys(
|| !(bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity)) entitys.Where(x => x.State == EntityState.Modified &&
(!typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())|| !(bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity)|| NodeleteTableTypes.Contains(x.Entity.GetType()))
).ToList(), "Update"); ).ToList(), "Update");
// 新增 // 新增
@ -59,7 +60,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
// 删除 // 删除
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Deleted await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Deleted
|| ((typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType()) && (bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity))) || (typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType()) && (bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity)&&x.State==EntityState.Modified&& !NodeleteTableTypes.Contains(x.Entity.GetType()))
).ToList(), "Deleted"); ).ToList(), "Deleted");
@ -68,6 +69,21 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//entitys.Where(x=>x.Entity.is) //entitys.Where(x=>x.Entity.is)
} }
/// <summary>
/// 特殊删除
/// </summary>
private List<Type> NodeleteTableTypes
{
get
{
return new List<Type>()
{
typeof(TrialUser)
};
}
}
/// <summary> /// <summary>
/// 插入Add的实体 /// 插入Add的实体
/// </summary> /// </summary>
@ -161,10 +177,34 @@ namespace IRaCIS.Core.Infra.EFCore.Common
await InsertInspection<TrialDocument>(item, type); await InsertInspection<TrialDocument>(item, type);
} }
// 项目中心
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialSite)))
{
await InsertInspection<TrialSite>(item, type, x => new DataInspection()
{
GeneralId = x.Id,
});
}
// 项目人员 // 项目人员
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialUser))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialUser)))
{ {
await InsertInspection<TrialUser>(item, type);
var entity = item.Entity as TrialUser;
var user =await _dbContext.Users.Include(x=>x.UserTypeRole).FirstOrDefaultAsync(x => x.Id == entity.UserId);
await InsertInspection<TrialUser>(item, type, x => new DataInspection
{
TrialId=x.TrialId,
},new {
UserRealName= user.FullName,
UserName= user.UserName,
UserType= user.UserTypeRole.UserTypeShortName,
EMail= user.EMail,
Phone= user.Phone,
OrganizationName= user.OrganizationName,
State=entity.IsDeleted?"退出":"加入",
});
} }
// 受试者 // 受试者
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject))) foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject)))