Uat_Study
parent
8ce368e16d
commit
707cd14f7a
|
@ -50,8 +50,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
public async Task IncomingEntitys(List<EntityEntry> entitys)
|
||||
{
|
||||
// 修改
|
||||
await InsertAddEntitys(entitys.Where(x => x.State == EntityState.Modified && (!typeof(ISoftDelete).IsAssignableFrom(x.Entity.GetType())
|
||||
|| !(bool)x.Entity.GetType().GetProperty("IsDeleted").GetValue(x.Entity))
|
||||
await InsertAddEntitys(
|
||||
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");
|
||||
|
||||
// 新增
|
||||
|
@ -59,7 +60,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
|
||||
// 删除
|
||||
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");
|
||||
|
||||
|
||||
|
@ -68,6 +69,21 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
//entitys.Where(x=>x.Entity.is)
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 特殊删除
|
||||
/// </summary>
|
||||
private List<Type> NodeleteTableTypes
|
||||
{
|
||||
get
|
||||
{
|
||||
return new List<Type>()
|
||||
{
|
||||
typeof(TrialUser)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 插入Add的实体
|
||||
/// </summary>
|
||||
|
@ -161,10 +177,34 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
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)))
|
||||
{
|
||||
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)))
|
||||
|
|
Loading…
Reference in New Issue