修改仓储批量更新和批量删除方法
This commit is contained in:
@@ -166,7 +166,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
[HttpDelete("{trialId:guid}/{previousHistoryId:guid}")]
|
||||
public async Task<IResponseOutput> DeletePreviousHistory(Guid previousHistoryId)
|
||||
{
|
||||
var success = await _previousHistoryRepository.DeleteFromQueryAsync(t => t.Id == previousHistoryId);
|
||||
var success = await _previousHistoryRepository.BatchDeleteAsync(t => t.Id == previousHistoryId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
[HttpDelete("{trialId:guid}/{previousOtherId:guid}")]
|
||||
public async Task<IResponseOutput> DeletePreviousOther(Guid previousOtherId)
|
||||
{
|
||||
var success = await _previousOtherRepository.DeleteFromQueryAsync(t => t.Id == previousOtherId);
|
||||
var success = await _previousOtherRepository.BatchDeleteAsync(t => t.Id == previousOtherId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
[HttpDelete("{trialId:guid}/{previousSurgeryId:guid}")]
|
||||
public async Task<IResponseOutput> DeletePreviousSurgery(Guid previousSurgeryId)
|
||||
{
|
||||
var success = await _previousSurgeryRepository.DeleteFromQueryAsync(t => t.Id == previousSurgeryId);
|
||||
var success = await _previousSurgeryRepository.BatchDeleteAsync(t => t.Id == previousSurgeryId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
public async Task<IResponseOutput> DeletePreviousPDF(Guid previousPDFId)
|
||||
{
|
||||
|
||||
var success = await _previousPdfRepository.DeleteFromQueryAsync(t => t.Id == previousPDFId);
|
||||
var success = await _previousPdfRepository.BatchDeleteAsync(t => t.Id == previousPDFId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
var minArray = new DateTime?[] { svTime.DicomStudyMinStudyTime, svTime.NoneDicomStudyMinStudyTime, addOrEditNoneDicomStudy.ImageDate };
|
||||
var maxArray = new DateTime?[] { svTime.DicomStudyMaxStudyTime, svTime.NoneDicomStudyMaxStudyTime, addOrEditNoneDicomStudy.ImageDate };
|
||||
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == addOrEditNoneDicomStudy.SubjectVisitId, u => new SubjectVisit()
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == addOrEditNoneDicomStudy.SubjectVisitId, u => new SubjectVisit()
|
||||
{
|
||||
VisitExecuted = VisitExecutedEnum.Executed,
|
||||
|
||||
@@ -112,8 +112,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
|
||||
if (noneDicomStudy == null) return Null404NotFound(noneDicomStudy);
|
||||
|
||||
await _noneDicomStudyRepository.DeleteFromQueryAsync(t => t.Id == noneDicomStudyId);
|
||||
await _noneDicomStudyFileRepository.DeleteFromQueryAsync(t => t.NoneDicomStudyId == noneDicomStudyId);
|
||||
await _noneDicomStudyRepository.BatchDeleteAsync(t => t.Id == noneDicomStudyId);
|
||||
await _noneDicomStudyFileRepository.BatchDeleteAsync(t => t.NoneDicomStudyId == noneDicomStudyId);
|
||||
|
||||
var svTime = await _repository.Where<SubjectVisit>(t => t.Id == noneDicomStudy.SubjectVisitId).Select(t => new
|
||||
{
|
||||
@@ -126,7 +126,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
var minArray = new DateTime?[] { svTime.DicomStudyMinStudyTime, svTime.NoneDicomStudyMinStudyTime };
|
||||
var maxArray = new DateTime?[] { svTime.DicomStudyMaxStudyTime, svTime.NoneDicomStudyMaxStudyTime };
|
||||
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == noneDicomStudy.SubjectVisitId, u => new SubjectVisit()
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == noneDicomStudy.SubjectVisitId, u => new SubjectVisit()
|
||||
{
|
||||
EarliestScanDate = minArray.Min(),
|
||||
|
||||
@@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
//如果既没有 dicom数据 也没有非dicom 文件 那么提交状态变更回去
|
||||
if (await _repository.CountAsync<DicomStudy>(t => t.SubjectVisitId == noneDicomStudy.SubjectVisitId) == 0 && await _repository.CountAsync<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == noneDicomStudy.SubjectVisitId) == 0)
|
||||
{
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == noneDicomStudy.SubjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit, u => new SubjectVisit() { VisitExecuted = 0, SubmitState = SubmitStateEnum.None });
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == noneDicomStudy.SubjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit, u => new SubjectVisit() { VisitExecuted = 0, SubmitState = SubmitStateEnum.None });
|
||||
}
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
@@ -147,12 +147,12 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
var subjectVisitId = await _noneDicomStudyFileRepository.Where(t=>t.Id== noneDicomStudyFileId).Select(t => t.NoneDicomStudy.SubjectVisitId).FirstOrDefaultAsync();
|
||||
|
||||
var success = await _noneDicomStudyFileRepository.DeleteFromQueryAsync(t => t.Id == noneDicomStudyFileId);
|
||||
var success = await _noneDicomStudyFileRepository.BatchDeleteAsync(t => t.Id == noneDicomStudyFileId);
|
||||
|
||||
//如果既没有 dicom数据 也没有非dicom 文件 那么提交状态变更回去
|
||||
if (await _repository.CountAsync<DicomStudy>(t => t.SubjectVisitId == subjectVisitId) == 0 && await _repository.CountAsync<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId) == 0)
|
||||
{
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit, u => new SubjectVisit() { VisitExecuted = 0, SubmitState = SubmitStateEnum.None });
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit, u => new SubjectVisit() { VisitExecuted = 0, SubmitState = SubmitStateEnum.None });
|
||||
}
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
}
|
||||
|
||||
// 上传非Dicom 后 将状态改为待提交 分为普通上传 和QC后重传 普通上传时才改为待提交
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit });
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit });
|
||||
|
||||
await _repository.AddAsync(new StudyMonitor()
|
||||
{
|
||||
|
||||
@@ -464,7 +464,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
{
|
||||
return ResponseOutput.NotOk("核查通过的数据不允许申请回退");
|
||||
}
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { RequestBackState = RequestBackStateEnum.CRC_RequestBack });
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { RequestBackState = RequestBackStateEnum.CRC_RequestBack });
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
||||
@@ -528,7 +528,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
//_checkChallengeDialogRepository.Delete(t => t.SubjectVisitId == subjectVisitId);
|
||||
await _repository.AddAsync(new CheckChallengeDialog() { SubjectVisitId = subjectVisitId, TalkContent = "PM执行了一致性核查回退", UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt });
|
||||
|
||||
await _repository.DeleteFromQueryAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == subjectVisitId);
|
||||
await _repository.BatchDeleteAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == subjectVisitId);
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
|
||||
@@ -908,7 +908,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
|
||||
study.BodyPartForEdit = bodyPart;
|
||||
study.Modalities = modality;
|
||||
await _repository.UpdateFromQueryAsync<DicomSeries>(t => t.StudyId == id, r => new DicomSeries() { BodyPartForEdit = bodyPart, Modality = modality });
|
||||
await _repository.BatchUpdateAsync<DicomSeries>(t => t.StudyId == id, r => new DicomSeries() { BodyPartForEdit = bodyPart, Modality = modality });
|
||||
|
||||
}
|
||||
else if (type == 2)
|
||||
@@ -1008,9 +1008,9 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
|
||||
foreach (var id in ids)
|
||||
{
|
||||
var success1 = await _repository.DeleteFromQueryAsync<DicomStudy>(t => t.Id == id);
|
||||
var succeess2 = await _repository.DeleteFromQueryAsync<DicomInstance>(t => t.StudyId == id);
|
||||
var success3 = await _repository.DeleteFromQueryAsync<DicomSeries>(t => t.StudyId == id);
|
||||
var success1 = await _repository.BatchDeleteAsync<DicomStudy>(t => t.Id == id);
|
||||
var succeess2 = await _repository.BatchDeleteAsync<DicomInstance>(t => t.StudyId == id);
|
||||
var success3 = await _repository.BatchDeleteAsync<DicomSeries>(t => t.StudyId == id);
|
||||
|
||||
//删除 物理文件
|
||||
|
||||
@@ -1034,7 +1034,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
//一个访视下面有多个检查,所以需要检测 没有的时候才清空 非dicom 是检查文件 不是表记录
|
||||
if (await _repository.CountAsync<DicomStudy>(t => t.SubjectVisitId == subjectVisitId) == 0 && await _repository.CountAsync<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId) == 0)
|
||||
{
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit,
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit,
|
||||
u => new SubjectVisit() { VisitExecuted = 0, SVENDTC = null, SVSTDTC = null, SubmitState = SubmitStateEnum.None });
|
||||
|
||||
//_qaNoticeRepository.Delete(t => t.SubjectVisitId == subjectVisitId);
|
||||
@@ -1057,7 +1057,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
var minArray = new DateTime?[] { svTime.DicomStudyMinStudyTime, svTime.NoneDicomStudyMinStudyTime };
|
||||
var maxArray = new DateTime?[] { svTime.DicomStudyMaxStudyTime, svTime.NoneDicomStudyMaxStudyTime };
|
||||
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == subjectVisitId, u => new SubjectVisit()
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId, u => new SubjectVisit()
|
||||
{
|
||||
EarliestScanDate = minArray.Min(),
|
||||
|
||||
@@ -1546,7 +1546,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
|
||||
var success = await _repository.UpdateFromQueryAsync<TrialSign>(t => t.Id == signId, u => new TrialSign() { IsCompleted = true });
|
||||
var success = await _repository.BatchUpdateAsync<TrialSign>(t => t.Id == signId, u => new TrialSign() { IsCompleted = true });
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
|
||||
@@ -1615,7 +1615,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
qcChallenge.LatestMsgTime = DateTime.Now;
|
||||
qcChallenge.LatestReplyUserId = _userInfo.Id;
|
||||
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == qcChallenge.SubjectVisitId, c => new SubjectVisit() { IsQCConfirmedReupload = true });
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == qcChallenge.SubjectVisitId, c => new SubjectVisit() { IsQCConfirmedReupload = true });
|
||||
|
||||
qcChallenge.DialogList.Add(new QCChallengeDialog()
|
||||
{
|
||||
@@ -1651,11 +1651,11 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
|
||||
//删除1QC 填写的问题答案
|
||||
|
||||
await _repository.DeleteFromQueryAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.First);
|
||||
await _repository.BatchDeleteAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.First);
|
||||
|
||||
//2QC 数据变为1QC
|
||||
await _repository.UpdateFromQueryAsync<QCChallenge>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.Second, k => new QCChallenge() { CurrentQCEnum = CurrentQC.First });
|
||||
await _repository.UpdateFromQueryAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.Second, k => new TrialQCQuestionAnswer() { CurrentQCEnum = CurrentQC.First });
|
||||
await _repository.BatchUpdateAsync<QCChallenge>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.Second, k => new QCChallenge() { CurrentQCEnum = CurrentQC.First });
|
||||
await _repository.BatchUpdateAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == qcChallenge.SubjectVisitId && t.CurrentQCEnum == CurrentQC.Second, k => new TrialQCQuestionAnswer() { CurrentQCEnum = CurrentQC.First });
|
||||
|
||||
}
|
||||
|
||||
@@ -1707,7 +1707,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
var dbSubjectVisit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == qcChallenge.SubjectVisitId).IfNullThrowException();
|
||||
|
||||
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == qcChallenge.SubjectVisitId, c => new SubjectVisit() { IsQCConfirmedReupload = false });
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == qcChallenge.SubjectVisitId, c => new SubjectVisit() { IsQCConfirmedReupload = false });
|
||||
|
||||
qcChallenge.DialogList.Add(new QCChallengeDialog()
|
||||
{
|
||||
@@ -1727,7 +1727,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
//已确认临床数据完整性
|
||||
dbSubjectVisit.IsConfirmedClinicalData = true;
|
||||
|
||||
var signSuccess = await _repository.UpdateFromQueryAsync<TrialSign>(t => t.Id == cRCReuploadFinishedCommand.SignId, u => new TrialSign() { IsCompleted = true });
|
||||
var signSuccess = await _repository.BatchUpdateAsync<TrialSign>(t => t.Id == cRCReuploadFinishedCommand.SignId, u => new TrialSign() { IsCompleted = true });
|
||||
|
||||
|
||||
}
|
||||
@@ -1798,7 +1798,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
return ResponseOutput.NotOk("回退的访视,不允许修改PD确认状态");
|
||||
}
|
||||
|
||||
await _repository.UpdateFromQueryAsync<SubjectVisit>(t => t.Id == command.SubjectVisitId, u => new SubjectVisit()
|
||||
await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == command.SubjectVisitId, u => new SubjectVisit()
|
||||
{
|
||||
IsEnrollmentConfirm = command.IsEnrollmentConfirm.Value,
|
||||
});
|
||||
@@ -1812,7 +1812,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
{
|
||||
List<DataInspection> datas = new List<DataInspection>();
|
||||
var data = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == command.SubjectVisitId);
|
||||
await _repository.UpdateFromQueryAsync<Subject>(t => t.Id == command.SubjectId, u => new Subject()
|
||||
await _repository.BatchUpdateAsync<Subject>(t => t.Id == command.SubjectId, u => new Subject()
|
||||
{
|
||||
FirstGiveMedicineTime = command.SubjectFirstGiveMedicineTime,
|
||||
|
||||
@@ -1928,7 +1928,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
|
||||
if (!result.IsSuccess)
|
||||
{
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == subjectVisitId,
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == subjectVisitId,
|
||||
u => new SubjectVisit() { ForwardState = ForwardStateEnum.ForwardFailed });
|
||||
|
||||
return ResponseOutput.NotOk("Forward Failed" + result.Failures.ToString() + result.ToJson());
|
||||
@@ -1943,11 +1943,11 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == subjectVisitId,
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == subjectVisitId,
|
||||
u => new SubjectVisit() { ForwardState = ForwardStateEnum.ForwardFailed });
|
||||
}
|
||||
|
||||
await _subjectVisitRepository.UpdateFromQueryAsync(t => t.Id == subjectVisitId,
|
||||
await _subjectVisitRepository.BatchUpdateAsync(t => t.Id == subjectVisitId,
|
||||
u => new SubjectVisit() { ForwardState = ForwardStateEnum.Forwarded,ForwardUserId = _userInfo.Id,ForwardTime = DateTime.Now});
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
[HttpDelete("{qCQuestionConfigureId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteQCQuestionConfigure(Guid qCQuestionConfigureId)
|
||||
{
|
||||
var success = await _qcQuestionRepository.DeleteFromQueryAsync(t => t.Id == qCQuestionConfigureId);
|
||||
var success = await _qcQuestionRepository.BatchDeleteAsync(t => t.Id == qCQuestionConfigureId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
return ResponseOutput.NotOk("已有QC审核记录,不允许删除问题项");
|
||||
}
|
||||
|
||||
var success = await _trialQcQuestionRepository.DeleteFromQueryAsync(t => t.Id == trialQCQuestionConfigureId);
|
||||
var success = await _trialQcQuestionRepository.BatchDeleteAsync(t => t.Id == trialQCQuestionConfigureId);
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user