整理仓储2
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-08-23 14:54:01 +08:00
parent 7867a82e6e
commit a43ef376c4
37 changed files with 177 additions and 155 deletions

View File

@ -492,7 +492,7 @@ namespace IRaCIS.Core.API.Controllers
studyMonitor.IP = _userInfo.IP;
studyMonitor.IsSuccess = true;
await _repository.SaveChangesAsync();
await _noneDicomStudyRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}

View File

@ -42,9 +42,9 @@ namespace IRaCIS.Core.Application.Helper
return statusStr;
}
public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository _repository)
public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository<SystemAnonymization> _systemAnonymizationRepository)
{
var list = await _repository.Where<SystemAnonymization>(t => t.IsEnable).ToListAsync();
var list = await _systemAnonymizationRepository.Where(t => t.IsEnable).ToListAsync();
return list;
}

View File

@ -48,6 +48,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
IRepository<DicomInstance> _dicomInstanceRepository,
IRepository<DicomSeries> _dicomSeriesRepository,
IRepository<SubjectCanceDoctor> _subjectCanceDoctorRepository,
IRepository<ReadingTaskQuestionMark> _readingTaskQuestionMarkRepository,
IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository,
IRepository<ReadingCustomTag> _readingCustomTagRepository,
IRepository<TaskInfluence> _taskInfluenceRepository,
IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository) : BaseService, IVisitTaskService
{
@ -1561,7 +1565,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
if (await _visitTaskRepository.AnyAsync(t => t.IsAnalysisCreate && t.SubjectId == subjectId))
{
await _repository.UpdatePartialFromQueryAsync<Subject>(t => t.Id == subjectId, u => new Subject() { IsReReadingOrBackInfluenceAnalysis = true });
await _subjectRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectId, u => new Subject() { IsReReadingOrBackInfluenceAnalysis = true });
}
@ -2156,7 +2160,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
//自定义
var readingCustomTagList = _repository.Where<ReadingCustomTag>(t => t.VisitTaskId == origenalTask.Id).ToList();
var readingCustomTagList = _readingCustomTagRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
foreach (var item in readingCustomTagList)
{
@ -2164,10 +2168,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
item.VisitTaskId = newTask.Id;
}
_ = _repository.AddRangeAsync(readingCustomTagList).Result;
_ = _readingCustomTagRepository.AddRangeAsync(readingCustomTagList).Result;
var readingTaskQuestionMarkList = _repository.Where<ReadingTaskQuestionMark>(t => t.VisitTaskId == origenalTask.Id).ToList();
var readingTaskQuestionMarkList = _readingTaskQuestionMarkRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
foreach (var item in readingTaskQuestionMarkList)
{
@ -2175,7 +2179,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
item.VisitTaskId = newTask.Id;
}
_ = _repository.AddRangeAsync(readingTaskQuestionMarkList).Result;
_ = _readingTaskQuestionMarkRepository.AddRangeAsync(readingTaskQuestionMarkList).Result;
var readingTaskQuestionAnswerList = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
@ -2184,12 +2188,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
item.Id = Guid.Empty;
item.VisitTaskId = newTask.Id;
}
_ = _repository.AddRangeAsync(readingTaskQuestionAnswerList).Result;
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(readingTaskQuestionAnswerList).Result;
//ReadingTableAnswerRowInfo ReadingTableQuestionAnswer 一起加
var readingTableAnswerRowInfoList = _repository.Where<ReadingTableAnswerRowInfo>(t => t.VisitTaskId == origenalTask.Id).Include(t => t.LesionAnswerList).ToList();
var readingTableAnswerRowInfoList = _readingTableAnswerRowInfoRepository.Where(t => t.VisitTaskId == origenalTask.Id).Include(t => t.LesionAnswerList).ToList();
foreach (var item in readingTableAnswerRowInfoList)
{
@ -2212,7 +2216,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
}
_ = _repository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
_ = _readingTableAnswerRowInfoRepository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
@ -2876,7 +2880,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
/// <returns></returns>
public async Task<List<InfluenceTaskInfo>> GetInfluencedTaskList(Guid taskId)
{
var list = await _repository.Where<TaskInfluence>(t => t.OriginalTaskId == taskId)/*.Select(t => t.InfluenceTask)*/.ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
var list = await _taskInfluenceRepository.Where(t => t.OriginalTaskId == taskId)/*.Select(t => t.InfluenceTask)*/.ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
return list;
}

View File

@ -35,9 +35,12 @@ namespace IRaCIS.Core.Application.Service.Common
IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository,
IRepository<DicomStudy> _dicomStudyRepository,
IRepository<QCChallenge> _qcChallengeRepository,
IRepository<ReadModule> _readModuleRepository,
IRepository<NoneDicomStudy> _noneDicomStudyRepository,
IRepository<StudyMonitor> _studyMonitorRepository,
IRepository<CommonDocument> _commonDocumentRepository,
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
IRepository<TrialDocNeedConfirmedUserType> _trialDocNeedConfirmedUserTypeRepository,
IRepository<TrialDocConfirmedUser> _trialDocConfirmedUserRepository,
IRepository<Subject> _subjectRepository) : BaseService
{
@ -347,7 +350,7 @@ namespace IRaCIS.Core.Application.Service.Common
{
var trialInfo = (await _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _repository.Where<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == inQuery.TrialId)
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _trialDocNeedConfirmedUserTypeRepository.Where(t => t.TrialDocument.TrialId == inQuery.TrialId)
join trialUser in _trialUserRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(inQuery.UserId != null, t => t.UserId == inQuery.UserId)
.WhereIf(inQuery.UserTypeId != null, t => t.User.UserTypeId == inQuery.UserTypeId)
@ -808,7 +811,7 @@ namespace IRaCIS.Core.Application.Service.Common
{
var svExpression = QCCommon.GetStudyMonitorSubjectVisitFilter(inQuery.VisitPlanArray);
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
var StudyMonitorQuery = _studyMonitorRepository.Where(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.Subject.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
//.WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
.WhereIf(inQuery.VisitPlanArray != null && inQuery.VisitPlanArray?.Length > 0, svExpression)
@ -889,7 +892,7 @@ namespace IRaCIS.Core.Application.Service.Common
[FromServices] IRepository<Trial> _trialRepository)
{
var list = await _repository.Where<ReadModule>(u => u.TrialId == param.TrialId)
var list = await _readModuleRepository.Where(u => u.TrialId == param.TrialId)
.ProjectTo<ReadPeriodExportDto>(_mapper.ConfigurationProvider).ToListAsync();

View File

@ -57,7 +57,9 @@ namespace IRaCIS.Application.Services
IRepository<VerificationCode> _verificationCodeRepository,
IRepository<SystemBasicData> _systemBasicDatarepository,
IRepository<VisitTask> _visitTaskRepository,
IRepository<TrialSite> _trialSiteRepository,
IRepository<User> _userRepository,
IRepository<UserFeedBack> _userFeedBackRepository,
ITokenService _tokenService,
IRepository<SubjectVisit> _subjectVisitRepository,
IRepository<Trial> _trialRepository,
@ -356,7 +358,7 @@ namespace IRaCIS.Application.Services
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialSiteSurvey.TrialId);
var siteInfo = await _repository.FirstOrDefaultAsync<TrialSite>(t => t.TrialId == trialSiteSurvey.TrialId && t.Id == trialSiteSurvey.TrialSiteId, true);
var siteInfo = await _trialSiteRepository.FirstOrDefaultAsync(t => t.TrialId == trialSiteSurvey.TrialId && t.Id == trialSiteSurvey.TrialSiteId, true);
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
@ -721,7 +723,7 @@ namespace IRaCIS.Application.Services
public async Task UserFeedBackMail(Guid feedBackId)
{
var feedBack = await _repository.Where<UserFeedBack>(t => t.Id == feedBackId).Include(t => t.CreateUser).ThenInclude(t => t.UserTypeRole).FirstNotNullAsync();
var feedBack = await _userFeedBackRepository.Where(t => t.Id == feedBackId).Include(t => t.CreateUser).ThenInclude(t => t.UserTypeRole).FirstNotNullAsync();
var messageToSend = new MimeMessage();
//发件地址

View File

@ -159,8 +159,8 @@ namespace IRaCIS.Application.Services
var newAttachment = attachments.Where(t => t.Id == Guid.Empty);
await _repository.AddRangeAsync(newAttachment);
await _repository.SaveChangesAsync();
await _attachmentrepository.AddRangeAsync(newAttachment);
await _attachmentrepository.SaveChangesAsync();
//_doctorAttachmentRepository.AddRange(newAttachment);
//_doctorAttachmentRepository.SaveChanges();
@ -185,7 +185,7 @@ namespace IRaCIS.Application.Services
}
await _attachmentrepository.AddAsync(newAttachment);
var success = await _repository.SaveChangesAsync();
var success = await _attachmentrepository.SaveChangesAsync();
return ResponseOutput.Result(success, attachment);
}
@ -214,15 +214,14 @@ namespace IRaCIS.Application.Services
[HttpPost("{doctorId:guid}/{attachmentId:guid}/{language}")]
public async Task<IResponseOutput> SetOfficial(Guid doctorId, Guid attachmentId, int language)
{
var resumeList = await _attachmentrepository.Where(t => t.DoctorId == doctorId && t.Type == "Resume" && t.Language == language).ToListAsync();
var resumeList = await _attachmentrepository.Where(t => t.DoctorId == doctorId && t.Type == "Resume" && t.Language == language,true).ToListAsync();
foreach (var item in resumeList)
{
if (item.Id == attachmentId) item.IsOfficial = true;
else item.IsOfficial = false;
await _repository.UpdateAsync(item);
}
return ResponseOutput.Result(await _repository.SaveChangesAsync());
return ResponseOutput.Result(await _attachmentrepository.SaveChangesAsync());
}
/// <summary>

View File

@ -16,6 +16,7 @@ namespace IRaCIS.Application.Services
IRepository<Attachment> _attachmentRepository,
IRepository<DoctorCriterionFile> _doctorCriterionFileRepository,
IRepository<Trial> _trialRepository,
IRepository<Vacation> _vacationRepository,
IRepository<TrialPaymentPrice> _trialExtRepository
) : BaseService, IDoctorService
{
@ -72,7 +73,7 @@ namespace IRaCIS.Application.Services
//await _repository.AddAsync(new UserDoctor() { DoctorId = doctor.Id, UserId = _userInfo.Id });
//_userDoctorRepository.Add(new UserDoctor() { DoctorId = doctor.Id, UserId = _userInfo.Id });
var success = await _repository.SaveChangesAsync();
var success = await _doctorDictionaryRepository.SaveChangesAsync();
return ResponseOutput.Result(success, _mapper.Map<DoctorBasicInfoCommand>(doctor));
}
@ -103,11 +104,11 @@ namespace IRaCIS.Application.Services
//重新插入新的 Title记录
updateModel.TitleIds.ForEach(titleId => adddata.Add(new DoctorDictionary() { DoctorId = updateModel.Id.Value, KeyName = StaticData.Title, DictionaryId = titleId }));
await _repository.AddRangeAsync(adddata);
await _doctorDictionaryRepository.AddRangeAsync(adddata);
_mapper.Map(basicInfoModel, doctor);
var success = await _repository.SaveChangesAsync();
var success = await _doctorDictionaryRepository.SaveChangesAsync();
return ResponseOutput.Result(success, basicInfoModel);
@ -296,7 +297,7 @@ namespace IRaCIS.Application.Services
#endregion
var entity = await _repository.InsertOrUpdateAsync<Doctor, EmploymentCommand>(doctorWorkInfoModel, true);
var entity = await _doctorRepository.InsertOrUpdateAsync(doctorWorkInfoModel, true);
return ResponseOutput.Ok();
@ -389,11 +390,11 @@ namespace IRaCIS.Application.Services
DictionaryId = subspecialityId
}));
await _repository.AddRangeAsync(adddata);
await _doctorDictionaryRepository.AddRangeAsync(adddata);
_mapper.Map(specialtyUpdateModel, doctor);
var success = await _repository.SaveChangesAsync();
var success = await _doctorDictionaryRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
@ -519,7 +520,7 @@ namespace IRaCIS.Application.Services
var doctor = (await _doctorRepository
.ProjectTo<ResumeConfirmDTO>(_mapper.ConfigurationProvider).FirstOrDefaultAsync(t => t.Id == doctorId)).IfNullThrowException();
doctor.InHoliday = (await _repository.CountAsync<Vacation>(x => x.DoctorId == doctorId && x.EndDate <= appDateTimeNow && x.StartDate <= appDateTimeNow)) > 0;
doctor.InHoliday = (await _vacationRepository.CountAsync(x => x.DoctorId == doctorId && x.EndDate <= appDateTimeNow && x.StartDate <= appDateTimeNow)) > 0;
return doctor;
}

View File

@ -59,7 +59,7 @@ namespace IRaCIS.Application.Services
break;
}
await _educationRepository.AddAsync(doctorEducationInfo);
var success = await _repository.SaveChangesAsync();
var success = await _educationRepository.SaveChangesAsync();
return ResponseOutput.Result(success, doctorEducationInfo.Id.ToString());
}
@ -72,7 +72,7 @@ namespace IRaCIS.Application.Services
_mapper.Map(educationInfoViewModel, needUpdate);
var success = await _repository.SaveChangesAsync();
var success = await _educationRepository.SaveChangesAsync();
return ResponseOutput.Ok(success);
@ -114,7 +114,7 @@ namespace IRaCIS.Application.Services
//}
#endregion
var entity = await _repository.InsertOrUpdateAsync<Postgraduate, PostgraduateCommand>(postgraduateViewModel, true);
var entity = await _postgraduateRepository.InsertOrUpdateAsync(postgraduateViewModel, true);
return ResponseOutput.Ok(entity.Id);
}
/// <summary>

View File

@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc;
namespace IRaCIS.Application.Services
{
[ApiExplorerSettings(GroupName = "Reviewer")]
public class ResearchPublicationService(IRepository<ResearchPublication> researchPublicationRepository) : BaseService, IResearchPublicationService
public class ResearchPublicationService(IRepository<ResearchPublication> _researchPublicationRepository) : BaseService, IResearchPublicationService
{
@ -17,7 +17,7 @@ namespace IRaCIS.Application.Services
[HttpGet("{doctorId:guid}")]
public async Task<ResearchPublicationDTO> GetResearchPublication(Guid doctorId)
{
var doctorScientificResearchInfo = await researchPublicationRepository.Where(o => o.DoctorId == doctorId)
var doctorScientificResearchInfo = await _researchPublicationRepository.Where(o => o.DoctorId == doctorId)
.ProjectTo<ResearchPublicationDTO>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
return doctorScientificResearchInfo!;
@ -28,7 +28,7 @@ namespace IRaCIS.Application.Services
public async Task<IResponseOutput> AddOrUpdateResearchPublication(ResearchPublicationDTO param)
{
var entity = await _repository.InsertOrUpdateAsync<ResearchPublication, ResearchPublicationDTO>(param, true);
var entity = await _researchPublicationRepository.InsertOrUpdateAsync(param, true);
return ResponseOutput.Ok(entity.Id);
}

View File

@ -82,17 +82,15 @@ namespace IRaCIS.Application.Services
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
var success = await _repository.SaveChangesAsync();
var success = await _trialExperienceCriteriaRepository.SaveChangesAsync();
return ResponseOutput.Result(success, trialExperience.Id);
}
else
{
var needUpdate = await _trialExperienceRepository.FirstOrDefaultAsync(t => t.Id == trialExperienceViewModel.Id);
var needUpdate = trialExperienceViewModel;
if (needUpdate == null) return Null404NotFound(needUpdate);
_mapper.Map(trialExperienceViewModel, needUpdate);
await _repository.UpdateAsync(needUpdate);
await _trialExperienceRepository.UpdateFromDTOAsync(trialExperienceViewModel);
await _trialExperienceCriteriaRepository.BatchDeleteNoTrackingAsync(t => t.TrialExperienceId == needUpdate.Id);
@ -102,13 +100,13 @@ namespace IRaCIS.Application.Services
{
DoctorId = trialExperienceViewModel.DoctorId,
EvaluationCriteriaId = t,
TrialExperienceId = needUpdate.Id
TrialExperienceId = needUpdate.Id.Value
}));
await _repository.AddRangeAsync<TrialExperienceCriteria>(criteriaList);
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
var success = await _repository.SaveChangesAsync();
var success = await _trialExperienceCriteriaRepository.SaveChangesAsync();
return ResponseOutput.Result(success, trialExperienceViewModel.Id);
}
}

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Application.Services
{
var result = await _vacationRepository.AddAsync(_mapper.Map<Vacation>(param));
var success = await _repository.SaveChangesAsync();
var success = await _vacationRepository.SaveChangesAsync();
return ResponseOutput.Result(success, result.Id);

View File

@ -26,6 +26,7 @@ namespace IRaCIS.Core.Application.Services
ISystemDocumentService _systemDocumentService,
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository,
IRepository<TrialDocNeedConfirmedUserType> _trialDocNeedConfirmedUserTypeRepository,
IRepository<SystemDocument> _systemDocumentRepository,
IRepository<TrialUser> _trialUserRepository,
IRepository<TrialDocConfirmedUser> _trialDocConfirmedUserRepository,
@ -223,7 +224,7 @@ namespace IRaCIS.Core.Application.Services
var trialInfo = await ( _trialRepository.Where(t => t.Id == inQuery.TrialId, ignoreQueryFilters: true).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
//系统文档查询
var systemDocumentQueryable = from needConfirmedUserType in _repository.Where<SystemDocNeedConfirmedUserType>(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
var systemDocumentQueryable = from needConfirmedUserType in _systemDocNeedConfirmedUserTypeRepository.Where(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
//.Where(u => u.UserTypeRole.UserList.SelectMany(cc => cc.UserTrials.Where(t => t.TrialId == querySystemDocument.TrialId)).Any(e => e.Trial.TrialFinishedTime < u.SystemDocument.CreateTime))
.WhereIf(trialInfo.TrialFinishedTime != null, u => u.SystemDocument.CreateTime < trialInfo.TrialFinishedTime)
.WhereIf(!_userInfo.IsAdmin, t => t.SystemDocument.IsDeleted == false || (t.SystemDocument.IsDeleted == true && t.SystemDocument.SystemDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.Id)))
@ -394,7 +395,7 @@ namespace IRaCIS.Core.Application.Services
var trialInfo = (await _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _repository.Where<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == inQuery.TrialId)
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _trialDocNeedConfirmedUserTypeRepository.Where(t => t.TrialDocument.TrialId == inQuery.TrialId)
join trialUser in _trialUserRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(inQuery.UserId != null, t => t.UserId == inQuery.UserId)
.WhereIf(inQuery.UserTypeId != null, t => t.User.UserTypeId == inQuery.UserTypeId)
@ -639,7 +640,7 @@ namespace IRaCIS.Core.Application.Services
}
success = await _repository.SaveChangesAsync();
success = await _systemDocConfirmedUserRepository.SaveChangesAsync();
return ResponseOutput.Ok(success);
}
@ -653,7 +654,7 @@ namespace IRaCIS.Core.Application.Services
}
var success = await _repository.SaveChangesAsync();
var success = await _systemDocConfirmedUserRepository.SaveChangesAsync();
return ResponseOutput.Ok(success);
}
@ -667,7 +668,7 @@ namespace IRaCIS.Core.Application.Services
await _trialDocConfirmedUserRepository.AddAsync(new TrialDocConfirmedUser() { TrialDocumentId = documentId, ConfirmUserId = _userInfo.Id, SignFirstViewTime = DateTime.Now });
}
var success = await _repository.SaveChangesAsync();
var success = await _trialDocConfirmedUserRepository.SaveChangesAsync();
return ResponseOutput.Ok(success);
}

View File

@ -40,10 +40,13 @@ namespace IRaCIS.Core.Application.Service
IRepository<EmailNoticeConfig> _emailNoticeConfigRepository,
IRepository<Trial> _trialRepository,
IRepository<TaskMedicalReview> _taskMedicalReviewRepository,
IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository,
IRepository<VisitTask> _visitTaskRepository,
IRepository<TrialUser> _trialUserRepository,
IRepository<TrialEmailNoticeUser> _trialEmailNoticeUserRepository,
IRepository<Subject> _subjectRepository,
IRepository<ReadModule> _readModuleRepository,
IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository,
IRepository<SubjectVisit> _subjectVisitRepository,
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
@ -311,7 +314,7 @@ namespace IRaCIS.Core.Application.Service
//入组确认 根据每个标准配置的是否自动发送,发送邮件与否
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
{
if (await _repository.Where<ReadingTableQuestionAnswer>().AnyAsync(x => x.VisitTaskId == visitTaskId && x.Answer == TargetState.Exist.GetEnumInt() &&
if (await _readingTableQuestionAnswerRepository.Where().AnyAsync(x => x.VisitTaskId == visitTaskId && x.Answer == TargetState.Exist.GetEnumInt() &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && x.ReadingQuestionTrial.LesionType == LesionType.TargetLesion))
{
answer = "是";
@ -490,7 +493,7 @@ namespace IRaCIS.Core.Application.Service
// if (taskInfo.ReadingCategory == ReadingCategory.Visit)
// {
// //存在阅片期 那么就是截止访视
// if (await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.SubjectVisitId == taskInfo.SourceSubjectVisitId && t.ReadingSetType == ReadingSetType.ImageReading).AnyAsync())
// if (await _readModuleRepository.Where(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.SubjectVisitId == taskInfo.SourceSubjectVisitId && t.ReadingSetType == ReadingSetType.ImageReading).AnyAsync())
// {
// isNeedSend = false;
// }
@ -905,7 +908,7 @@ namespace IRaCIS.Core.Application.Service
//仲裁在阅片期上
else if (trialReadingCriterionConfig.ArbitrationRule == ArbitrationRule.Reading)
{
var existReadModule = await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
var existReadModule = await _readModuleRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
.FirstOrDefaultAsync();
if (existReadModule == null)
@ -978,7 +981,7 @@ namespace IRaCIS.Core.Application.Service
// {
// //存在阅片期 那么就是截止访视
// var existReadModule = await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
// var existReadModule = await _readModuleRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
// .FirstOrDefaultAsync();
// if (existReadModule != null)
// {
@ -1081,7 +1084,7 @@ namespace IRaCIS.Core.Application.Service
}
else if (readingCategory == ReadingCategory.Global)
{
var questionAnsewer = await _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).OrderByDescending(c => c.VisitTask.VisitTaskNum).FirstNotNullAsync();
var questionAnsewer = await _readingGlobalTaskInfoRepository.Where(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).OrderByDescending(c => c.VisitTask.VisitTaskNum).FirstNotNullAsync();
answer = questionAnsewer.Answer;
@ -1129,7 +1132,7 @@ namespace IRaCIS.Core.Application.Service
}
else if (readingCategory == ReadingCategory.Global)
{
var questionAnsewer = await _repository.Where<ReadingGlobalTaskInfo>(t => t.TaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
var questionAnsewer = await _readingGlobalTaskInfoRepository.Where(t => t.TaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
answer = questionAnsewer.Answer;
}
@ -1395,7 +1398,7 @@ namespace IRaCIS.Core.Application.Service
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = id });
}
await _repository.AddRangeAsync(trialEmailNoticeUsers);
await _trialEmailNoticeUserRepository.AddRangeAsync(trialEmailNoticeUsers);
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
{

View File

@ -22,6 +22,7 @@ namespace IRaCIS.Core.Application.Services
IRepository<DicomSeries> _seriesRepository,
IRepository<DicomInstance> _instanceRepository,
IRepository<Dictionary> _dictionaryRepository,
IRepository<SystemAnonymization> _systemAnonymizationRepository,
IDistributedLockProvider _distributedLockProvider) : BaseService, IDicomArchiveService
{
@ -59,7 +60,7 @@ namespace IRaCIS.Core.Application.Services
}
var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_repository), TimeSpan.FromDays(7));
var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7));
var fixedFiledList = anonymizeList.Where(t => t.IsFixed).ToList();
var ircFiledList = anonymizeList.Where(t => t.IsFixed == false).ToList();

View File

@ -292,7 +292,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
using (await @lock.AcquireAsync())
{
//查询数据库获取最大的Code 没有记录则为0
var dbStudyCodeIntMax = _repository.Where<TaskStudy>(s => s.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
var dbStudyCodeIntMax = _taskStudyRepository.Where(s => s.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
//获取缓存中的值 并发的时候,需要记录,已被占用的值 这样其他线程在此占用的最大的值上递增
var cacheMaxCodeInt = await _fusionCache.GetOrDefaultAsync<int>(CacheKeys.TrialStudyMaxCode(trialId));
@ -371,7 +371,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var studyId = IdentifierHelper.CreateGuid(incommand.Study.StudyInstanceUid, incommand.TrialId.ToString(), findOriginStudy.VisitTaskId.ToString());
var study = await _repository.FirstOrDefaultAsync<TaskStudy>(t => t.Id == studyId);
var study = await _taskStudyRepository.FirstOrDefaultAsync(t => t.Id == studyId);
//重传的时候也要赋值检查Id
studyMonitor.StudyId = study.Id;
@ -390,7 +390,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
{
var seriesId = IdentifierHelper.CreateGuid(seriesItem.StudyInstanceUid, seriesItem.SeriesInstanceUid, trialId.ToString(), findOriginStudy.VisitTaskId.ToString());
TaskSeries dicomSeries = await _repository.FirstOrDefaultAsync<TaskSeries>(t => t.Id == seriesId);
TaskSeries dicomSeries = await _taskSeriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId);
//判断重复
if (dicomSeries == null)
@ -444,7 +444,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
using (await @lock2.AcquireAsync())
{
await _repository.SaveChangesAsync();
await _taskStudyRepository.SaveChangesAsync();
}
}
catch (Exception ex)

View File

@ -14,7 +14,6 @@ using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
using System.Threading;
using Medallion.Threading;
using System.Reactive.Subjects;
using DocumentFormat.OpenXml.Drawing.Diagrams;
using IRaCIS.Core.Application.Service.ImageAndDoc.DTO;
using ZiggyCreatures.Caching.Fusion;
@ -31,7 +30,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
IRepository<Trial> _trialRepository,
IRepository<VisitTask> _visitTaskRepository,
IRepository<DicomStudy> _dicomStudyRepository,
IRepository<Subject> _subjectRepository,
IRepository<StudyMonitor> _studyMonitorRepository,
IRepository<SystemAnonymization> _systemAnonymizationRepository,
IRepository<NoneDicomStudy> _noneDicomStudyRepository,
IDistributedLockProvider _distributedLockProvider) : BaseService, IStudyService
{
@ -460,7 +461,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
public async Task<PageOutput<UnionStudyMonitorModel>> GetDicomAndNoneDicomStudyMonitorList(StudyQuery inQuery)
{
var svExpression = QCCommon.GetStudyMonitorSubjectVisitFilter(inQuery.VisitPlanArray);
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
var StudyMonitorQuery = _studyMonitorRepository.Where(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.Subject.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
//.WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
.WhereIf(inQuery.VisitPlanArray != null && inQuery.VisitPlanArray?.Length > 0, svExpression)
@ -711,7 +712,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var systemAnonymizationList = _repository.Where<SystemAnonymization>(t => t.IsEnable).ToList();
var systemAnonymizationList = _systemAnonymizationRepository.Where(t => t.IsEnable).ToList();
return ResponseOutput.Ok<List<VerifyStudyUploadResult>>(resultList, new
{
@ -772,7 +773,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
// 写入dicom 固定的信息,以及组织路径的信息 以及匿名化的信息
var otherData = GetSaveToDicomInfo(verifyInfo.SubjectVisitId);
var anonymizeList = _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_repository), TimeSpan.FromDays(7)).Result;
var anonymizeList = _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7)).Result;
return ResponseOutput.Ok<List<VerifyStudyUploadResult>>(result, new
{
@ -801,7 +802,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
return result;
}
if (_repository.Where<Domain.Models.Subject>(t => t.Id == SubjectId).Select(t => t.Status).FirstOrDefault() == SubjectStatus.EndOfVisit)
if (_subjectRepository.Where(t => t.Id == SubjectId).Select(t => t.Status).FirstOrDefault() == SubjectStatus.EndOfVisit)
{
result.AllowUpload = false;

View File

@ -14,7 +14,7 @@ namespace IRaCIS.Core.Application.Service
/// SystemAnonymizationService
/// </summary>
[ApiExplorerSettings(GroupName = "Image")]
public class SystemAnonymizationService(IRepository<SystemAnonymization> systemAnonymizationRepository) : BaseService, ISystemAnonymizationService
public class SystemAnonymizationService(IRepository<SystemAnonymization> _systemAnonymizationRepository) : BaseService, ISystemAnonymizationService
{
@ -22,7 +22,7 @@ namespace IRaCIS.Core.Application.Service
public async Task<PageOutput<SystemAnonymizationView>> GetSystemAnonymizationList(SystemAnonymizationQuery inQuery)
{
var systemAnonymizationQueryable = systemAnonymizationRepository
var systemAnonymizationQueryable = _systemAnonymizationRepository
.WhereIf(!string.IsNullOrEmpty(inQuery.Group), t => t.Group.Contains(inQuery.Group))
.WhereIf(!string.IsNullOrEmpty(inQuery.Element), t => t.Element.Contains(inQuery.Element))
.WhereIf(inQuery.IsAdd != null, t => t.IsAdd == inQuery.IsAdd)
@ -36,7 +36,7 @@ namespace IRaCIS.Core.Application.Service
public async Task<IResponseOutput> AddOrUpdateSystemAnonymization(SystemAnonymizationAddOrEdit addOrEditSystemAnonymization)
{
var entity = await _repository.InsertOrUpdateAsync<SystemAnonymization, SystemAnonymizationAddOrEdit>(addOrEditSystemAnonymization, true);
var entity = await _systemAnonymizationRepository.InsertOrUpdateAsync(addOrEditSystemAnonymization, true);
return ResponseOutput.Ok(entity.Id.ToString());
@ -47,7 +47,7 @@ namespace IRaCIS.Core.Application.Service
[HttpDelete("{systemAnonymizationId:guid}")]
public async Task<IResponseOutput> DeleteSystemAnonymization(Guid systemAnonymizationId)
{
var success = await systemAnonymizationRepository.BatchDeleteNoTrackingAsync(t => t.Id == systemAnonymizationId);
var success = await _systemAnonymizationRepository.BatchDeleteNoTrackingAsync(t => t.Id == systemAnonymizationId);
return ResponseOutput.Result(success);
}

View File

@ -1066,8 +1066,8 @@ namespace IRaCIS.Core.Application.Service
await _repository.UpdateRange(neewupdate);
await _repository.AddRangeAsync(list);
await _repository.SaveChangesAsync();
await _frontAuditConfigRepository.AddRangeAsync(list);
await _frontAuditConfigRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}

View File

@ -260,7 +260,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
/// <summary> 验证用户签名信息 </summary> ///
public async Task<IResponseOutput> VerifySignatureAsync(SignDTO signDTO)
{
var user = await _repository.FirstOrDefaultAsync<User>(u => u.UserName == signDTO.UserName && u.Password == signDTO.PassWord);
var user = await _userRepository.FirstOrDefaultAsync(u => u.UserName == signDTO.UserName && u.Password == signDTO.PassWord);
if (user == null)
{
throw new BusinessValidationFailedException(_localizer["User_CheckNameOrPw"]);
@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
{
var add = await _trialSignRepository.AddAsync(_mapper.Map<TrialSign>(signDTO));
var success = await _repository.SaveChangesAsync();
var success = await _trialSignRepository.SaveChangesAsync();
return add.Id;

View File

@ -47,7 +47,7 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<PageOutput<TrialSiteAddView>> GetTrialSiteList(TrialSiteInQuery inQuery)
{
var query = _repository.Where<TrialSite>(t => t.SiteId == null)
var query = _trialSiteRepository.Where(t => t.SiteId == null)
.WhereIf(!string.IsNullOrEmpty(inQuery.TrialSiteName), t => t.TrialSiteName.Contains(inQuery.TrialSiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteName))
.WhereIf(!string.IsNullOrEmpty(inQuery.TrialCode), t => t.Trial.TrialCode.Contains(inQuery.TrialCode))
.Select(t => new TrialSiteAddView()

View File

@ -7,7 +7,7 @@ namespace IRaCIS.Application.Services
{
[ApiExplorerSettings(GroupName = "Management")]
public class MenuService(
IRepository<Menu> menuRepository,
IRepository<Menu> _menuRepository,
IRepository<UserTypeMenu> _userTypeMenuRepository) : BaseService, IMenuService
{
@ -26,7 +26,7 @@ namespace IRaCIS.Application.Services
VerifyMsg = _localizer["Menu_ParentDupChild"]
};
var menu = await _repository.InsertOrUpdateAsync<Menu, MenuCommand>(menuAddOrUpdateModel, true, exp);
var menu = await _menuRepository.InsertOrUpdateAsync(menuAddOrUpdateModel, true, exp);
return ResponseOutput.Ok(menu.Id.ToString());
@ -85,13 +85,13 @@ namespace IRaCIS.Application.Services
[HttpDelete("{menuId:guid}")]
public async Task<IResponseOutput> DeleteMenu(Guid menuId)
{
if (await menuRepository.AnyAsync(t => t.ParentId == menuId))
if (await _menuRepository.AnyAsync(t => t.ParentId == menuId))
{
//---该节点存在子节点,请在删除子节点后,再删除该节点。
return ResponseOutput.NotOk(_localizer["Menu_ChildExist"]);
}
var success =await menuRepository.BatchDeleteNoTrackingAsync(u => u.Id == menuId);
var success =await _menuRepository.BatchDeleteNoTrackingAsync(u => u.Id == menuId);
return ResponseOutput.Result(success);
}
@ -104,7 +104,7 @@ namespace IRaCIS.Application.Services
[HttpGet]
public async Task<List<MenuTreeNode>> GetMenuTree()
{
var allMenuList = (await menuRepository.ProjectTo<MenuTreeNode>(_mapper.ConfigurationProvider).ToListAsync()).IfNullThrowException();
var allMenuList = (await _menuRepository.ProjectTo<MenuTreeNode>(_mapper.ConfigurationProvider).ToListAsync()).IfNullThrowException();
var list = allMenuList.ToTree((root, child) => child.ParentId == Guid.Empty,
(root, child) => child.ParentId == root.MenuId,
@ -125,7 +125,7 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<List<MenuDTO>> GetMenuList(MenuQueyDTO menuQueyDTO)
{
return await menuRepository
return await _menuRepository
.WhereIf(menuQueyDTO.ParentId != null, t => t.ParentId == menuQueyDTO.ParentId)
.WhereIf(menuQueyDTO.IsEnable != null, t => t.IsEnable == menuQueyDTO.IsEnable)
.WhereIf(menuQueyDTO.IsCache != null, t => t.IsCache == menuQueyDTO.IsCache)
@ -146,7 +146,7 @@ namespace IRaCIS.Application.Services
[HttpGet("{userTypeId:guid}")]
public async Task<List<MenuTreeNodeSelect>> GetUserTypeMenuTree(Guid userTypeId)
{
var menuFunctionlist = (await menuRepository
var menuFunctionlist = (await _menuRepository
.ProjectTo<MenuTreeNodeSelect>(_mapper.ConfigurationProvider, new { userTypeId = userTypeId }).ToListAsync()).IfNullThrowException();
@ -189,7 +189,7 @@ namespace IRaCIS.Application.Services
.Where(t => t.UserTypeId == _userInfo.UserTypeId && t.Menu.MenuType == "F")
.Select(t => t.Menu.PermissionStr).ToListAsync();
//var str = await _repository.Where<UserType>(t => t.Id == _userInfo.UserTypeId).Select(t => t.PermissionStr).FirstOrDefaultAsync();
//var str = await _userTypeRepository.Where(t => t.Id == _userInfo.UserTypeId).Select(t => t.PermissionStr).FirstOrDefaultAsync();
list.Add(_userInfo.PermissionStr);

View File

@ -14,7 +14,7 @@ namespace IRaCIS.Core.Application.Contracts
/// UserTypeRoleService
/// </summary>
[ApiExplorerSettings(GroupName = "Management")]
public class UserTypeRoleService(IRepository<UserType> _userTypeRepository) : BaseService, IUserTypeService
public class UserTypeRoleService(IRepository<UserType> _userTypeRepository, IRepository<User> _userRepository) : BaseService, IUserTypeService
{
[HttpPost]
@ -71,7 +71,7 @@ namespace IRaCIS.Core.Application.Contracts
await _userTypeRepository.EntityVerifyAsync(entity.Id, verifyExp1);
}
var success = await _repository.SaveChangesAsync();
var success = await _userTypeRepository.SaveChangesAsync();
return ResponseOutput.Ok( entity.Id.ToString());
@ -81,7 +81,7 @@ namespace IRaCIS.Core.Application.Contracts
[HttpDelete("{userTypeId:guid}")]
public async Task<IResponseOutput> DeleteUserTypeRole(Guid userTypeId)
{
if ( await _repository.AnyAsync<User>(t => t.UserTypeId == userTypeId))
if ( await _userRepository.AnyAsync(t => t.UserTypeId == userTypeId))
{
//---该用户类型中已存在用户,不能删除
return ResponseOutput.NotOk(_localizer["UserType_InUse"]);

View File

@ -143,7 +143,7 @@ namespace IRaCIS.Core.Application.Contracts
[HttpGet("{subjectVisitId:guid}")]
public async Task<List<NoneDicomStudyFileView>> GetVisitNoneDicomStudyFileList(Guid subjectVisitId)
{
return await _repository.Where<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId)
return await _noneDicomStudyFileRepository.Where(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId)
.ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync();
}

View File

@ -39,17 +39,17 @@ namespace IRaCIS.Core.Application.Service
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC)
{
await VerifyIsCanQCAsync(_repository, _userInfo, null, subjectVisitId);
await VerifyIsCanQCAsync(_subjectVisitRepository, _userInfo, null, subjectVisitId);
}
}
public async Task VerifyIsCanQCAsync(IRepository _repository, IUserInfo _userInfo, SubjectVisit? subjectVisit = null, Guid? subjectVisitId = null)
public async Task VerifyIsCanQCAsync(IRepository<SubjectVisit> _subjectVisitRepository, IUserInfo _userInfo, SubjectVisit? subjectVisit = null, Guid? subjectVisitId = null)
{
if (subjectVisitId != null)
{
subjectVisit = (await _repository.FirstOrDefaultAsync<SubjectVisit>(t => t.Id == subjectVisitId)).IfNullThrowException();
subjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
}
if (subjectVisit!.CurrentActionUserId != _userInfo.Id)
{

View File

@ -116,7 +116,7 @@ namespace IRaCIS.Core.Application.Image.QA
else
{
await _repository.UpdateFromDTOAsync<QCChallenge, QCChallengeCommand>(qaQuestionCommand, true);
await _qcChallengeRepository.UpdateFromDTOAsync(qaQuestionCommand, true);
return ResponseOutput.Ok();
@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Image.QA
public async Task<IResponseOutput> DeleteQCChallenge(Guid qcChallengeId)
{
if (await _repository.AnyAsync<QCChallengeDialog>(t => t.QCChallengeId == qcChallengeId))
if (await _qCChallengeDialogrepository.AnyAsync(t => t.QCChallengeId == qcChallengeId))
{
//---当前QC质疑已经回复。
ResponseOutput.NotOk(_localizer["QCOperation_QuestionReplied"]);
@ -203,7 +203,7 @@ namespace IRaCIS.Core.Application.Image.QA
await _qcChallengeRepository.DeleteAsync(qaRecord);
var success1 = await _repository.SaveChangesAsync();
var success1 = await _qcChallengeRepository.SaveChangesAsync();
return ResponseOutput.Result(success1 /*|| success2 || success3*/);
}
@ -224,7 +224,7 @@ namespace IRaCIS.Core.Application.Image.QA
qaReply.UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt;
var dbQCChallenge = (await _repository.FirstOrDefaultAsync<QCChallenge>(t => t.Id == qaDialogCommand.QCChallengeId)).IfNullThrowException();
var dbQCChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qaDialogCommand.QCChallengeId)).IfNullThrowException();
dbQCChallenge.LatestMsgTime = DateTime.Now;
@ -232,7 +232,7 @@ namespace IRaCIS.Core.Application.Image.QA
dbQCChallenge.LatestReplyUserId = _userInfo.Id;
var success = await _repository.SaveChangesAsync();
var success = await _qCChallengeDialogrepository.SaveChangesAsync();
return ResponseOutput.Result(success, qaReply);
@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Image.QA
throw new BusinessValidationFailedException(_localizer["QCOperation_NoPermissionReply"]);
}
var success = await _repository.SaveChangesAsync();
var success = await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Result(success, qaReply.Id);
}
@ -314,7 +314,7 @@ namespace IRaCIS.Core.Application.Image.QA
UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt,
});
await _repository.SaveChangesAsync();
await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Ok(sv);
}
@ -575,7 +575,7 @@ namespace IRaCIS.Core.Application.Image.QA
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
return ResponseOutput.Ok(await _trialQCQuestionAnswerRepository.SaveChangesAsync());
}
else
{
@ -583,9 +583,9 @@ namespace IRaCIS.Core.Application.Image.QA
addlist.ForEach(t => { t.TrialId = trialId; t.SubjectVisitId = subjectVisitId; t.CurrentQCEnum = currentQCType; t.QCProcessEnum = trialQCProcess; });
await _repository.AddRangeAsync(addlist);
await _trialQCQuestionAnswerRepository.AddRangeAsync(addlist);
return ResponseOutput.Result(await _repository.SaveChangesAsync());
return ResponseOutput.Result(await _trialQCQuestionAnswerRepository.SaveChangesAsync());
}
@ -661,7 +661,7 @@ namespace IRaCIS.Core.Application.Image.QA
study.IsDeleted = study.SeriesCount == 0;
}
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
return ResponseOutput.Ok(await _dicomStudyRepository.SaveChangesAsync());
}
/// <summary>
@ -693,7 +693,7 @@ namespace IRaCIS.Core.Application.Image.QA
{
var studyId = updateModalityCommand.Id;
var study = (await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == studyId)).IfNullThrowException();
var study = (await _dicomStudyRepository.FirstOrDefaultAsync(t => t.Id == studyId)).IfNullThrowException();
study.BodyPartForEdit = updateModalityCommand.BodyPart;
@ -706,7 +706,7 @@ namespace IRaCIS.Core.Application.Image.QA
{
var seriesId = updateModalityCommand.Id;
var series = (await _repository.FirstOrDefaultAsync<DicomSeries>(t => t.Id == seriesId)).IfNullThrowException();
var series = (await _dicomSeriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId)).IfNullThrowException();
series.BodyPartForEdit = updateModalityCommand.BodyPart;
}
@ -715,7 +715,7 @@ namespace IRaCIS.Core.Application.Image.QA
}
await _repository.SaveChangesAsync();
await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -730,7 +730,7 @@ namespace IRaCIS.Core.Application.Image.QA
{
await VerifyIsCanQCAsync(null, subjectVisitId);
if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
if (await _qcChallengeRepository.AnyAsync(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
{
//---当前访视有质疑未关闭,不允许该操作
return ResponseOutput.NotOk(_localizer["QCOperation_UnresolvedQCQuery"]);
@ -804,11 +804,11 @@ namespace IRaCIS.Core.Application.Image.QA
var subjectId=waitDeleteStudyList.Select(t=>t.SubjectId).FirstOrDefault();
var patientList = _repository.Where<SCPPatient>(t => t.SubjectId == subjectId).Select(t => t.Id).ToList();
var patientList = _scpPatientRepository.Where(t => t.SubjectId == subjectId).Select(t => t.Id).ToList();
foreach (var patientId in patientList)
{
if (_repository.Where<SCPPatient>(t=>t.Id== patientId).Any(t => t.SCPStudyList.Count() == t.SCPStudyList.Where(t => t.SubjectVisitId == null).Count()))
if (_scpPatientRepository.Where(t=>t.Id== patientId).Any(t => t.SCPStudyList.Count() == t.SCPStudyList.Where(t => t.SubjectVisitId == null).Count()))
{
await _scpPatientRepository.BatchUpdateNoTrackingAsync(t => t.Id == patientId, u => new SCPPatient() { SubjectId = null });
}
@ -1295,7 +1295,7 @@ namespace IRaCIS.Core.Application.Image.QA
}
//获取确认的临床数据配置
var clinicalDataConfirmList = _repository.Where<ClinicalDataTrialSet>(t => t.TrialId == trialId && t.IsConfirm).ToList();
var clinicalDataConfirmList = _clinicalDataTrialSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).ToList();
// 别人未提交的
foreach (var dbSubjectVisit in dbSubjectVisitList)
@ -1496,7 +1496,7 @@ namespace IRaCIS.Core.Application.Image.QA
var success = await _repository.SaveChangesAsync();
var success = await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Ok(success);
@ -1528,7 +1528,7 @@ namespace IRaCIS.Core.Application.Image.QA
if (auditState == AuditStateEnum.QCPassed)
{
//判断质疑是否都关闭了
if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
if (await _qcChallengeRepository.AnyAsync(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
{
//---当前访视有影像质控质疑未关闭,不能进行此操作。
return ResponseOutput.NotOk(_localizer["QCOperation_QCNotClosed"]);
@ -1727,7 +1727,7 @@ namespace IRaCIS.Core.Application.Image.QA
dbSubjectVisit.CurrentActionUserId = null;
dbSubjectVisit.CurrentActionUserExpireTime = null;
await _repository.SaveChangesAsync();
await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Result(true);
@ -1753,7 +1753,7 @@ namespace IRaCIS.Core.Application.Image.QA
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
sv.IsUrgent = setOrCancel;
var success = await _repository.SaveChangesAsync();
var success = await _subjectVisitRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -1837,7 +1837,7 @@ namespace IRaCIS.Core.Application.Image.QA
});
//双审 并且是2QC 那么需要回退到1QC 讲1QC数据清除
if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _repository.AnyAsync<QCChallenge>(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _qcChallengeRepository.AnyAsync(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
{
@ -1872,7 +1872,7 @@ namespace IRaCIS.Core.Application.Image.QA
}
var success = await _repository.SaveChangesAsync();
var success = await _qcChallengeRepository.SaveChangesAsync();
return ResponseOutput.Result(success);

View File

@ -254,7 +254,7 @@ namespace IRaCIS.Core.Application.Contracts
await _trialQcQuestionRepository.AddRangeAsync(childList);
var success = await _repository.SaveChangesAsync();
var success = await _trialQcQuestionRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}

View File

@ -232,7 +232,7 @@ namespace IRaCIS.Application.Services
{
await _trialClinicalDataSetCriterionRepository.DeleteFromQueryAsync(t => t.TrialClinicalDataSetId == entity.Id);
await _repository.AddRangeAsync<TrialClinicalDataSetCriterion>(entity.TrialClinicalDataSetCriteriaList);
await _trialClinicalDataSetCriterionRepository.AddRangeAsync(entity.TrialClinicalDataSetCriteriaList);
}

View File

@ -356,7 +356,7 @@ namespace IRaCIS.Application.Services
if (await _clinicalDataTrialSetRepository.AnyAsync(t => t.Id == data.ClinicalDataTrialSetId && t.UploadRole == UploadRole.PM && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit)))
{
var needDealTrialReadingCriterionIdList = _repository.Where<ClinicalDataTrialSet>(t => t.Id == data.ClinicalDataTrialSetId)
var needDealTrialReadingCriterionIdList = _clinicalDataTrialSetRepository.Where(t => t.Id == data.ClinicalDataTrialSetId)
.SelectMany(t => t.TrialClinicalDataSetCriteriaList)
.Select(u => u.TrialReadingCriterionId).Distinct().ToList();
@ -402,7 +402,7 @@ namespace IRaCIS.Application.Services
// if (await _clinicalDataTrialSetRepository.AnyAsync(t => t.Id == data.ClinicalDataTrialSetId && t.UploadRole == UploadRole.PM && t.ClinicalDataLevel == ClinicalLevel.Subject))
// {
// var needDealTrialReadingCriterionIdList = _repository.Where<ClinicalDataTrialSet>(t => t.Id == data.ClinicalDataTrialSetId)
// var needDealTrialReadingCriterionIdList = _clinicalDataTrialSetRepository.Where(t => t.Id == data.ClinicalDataTrialSetId)
// .SelectMany(t => t.TrialClinicalDataSetCriteriaList)
// .Select(u => u.TrialReadingCriterionId).Distinct().ToList();

View File

@ -28,6 +28,7 @@ namespace IRaCIS.Application.Services
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
IRepository<DicomInstance> _dicomInstanceRepository,
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
IRepository<ReadingClinicalData> _readingClinicalDataRepository,
IRepository<ReadingPeriodSet> _readingPeriodSetRepository,
IRepository<ReadModule> _readModuleRepository) : BaseService
{
@ -454,7 +455,7 @@ namespace IRaCIS.Application.Services
var readModule = await _readModuleRepository.Where(x => x.Id == readModuleId).FirstNotNullAsync();
if(await _repository.Where<ReadingClinicalData>(t => t.ReadingId == readModuleId).AnyAsync(t => t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned))
if(await _readingClinicalDataRepository.Where(t => t.ReadingId == readModuleId).AnyAsync(t => t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned))
{
//---临床资料已签名,不允许删除
return ResponseOutput.NotOk(_localizer["ReadModule_SignedDataCannotDelete"]);

View File

@ -37,11 +37,13 @@ namespace IRaCIS.Core.Application.Contracts
IRepository<User> _userRepository,
IRepository<Trial> _trialRepository,
IRepository<TrialSite> _trialSiteRepository,
IRepository<Doctor> _doctorRepository,
IRepository<VerificationCode> _verificationCodeRepository,
IRepository<TrialUser> _trialUserRepository,
IRepository<TrialSiteUser> _trialSiteUserRepository,
IDistributedLockProvider _distributedLockProvider,
ITokenService _tokenService,
IRepository<UserType> _userTypeRepository,
IMailVerificationService _mailVerificationService,
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) : BaseService, ITrialSiteSurveyService
{
@ -105,7 +107,7 @@ namespace IRaCIS.Core.Application.Contracts
//删除验证码历史记录
await _verificationCodeRepository.BatchDeleteNoTrackingAsync(t => t.Id == verificationRecord.Id);
var dockerInfo = await _repository.Where<Doctor>(t => t.EMail == inDto.EmailOrPhone || t.Phone == inDto.EmailOrPhone).FirstOrDefaultAsync();
var dockerInfo = await _doctorRepository.Where(t => t.EMail == inDto.EmailOrPhone || t.Phone == inDto.EmailOrPhone).FirstOrDefaultAsync();
if (dockerInfo != null)
{
@ -167,7 +169,7 @@ namespace IRaCIS.Core.Application.Contracts
#region 20230804 修改调研表逻辑
var verifyRecord = await _repository.FirstOrDefaultAsync<VerificationCode>(t => (t.EmailOrPhone == userInfo.EmailOrPhone) && t.Code == userInfo.verificationCode && t.CodeType == userInfo.verificationType);
var verifyRecord = await _verificationCodeRepository.FirstOrDefaultAsync(t => (t.EmailOrPhone == userInfo.EmailOrPhone) && t.Code == userInfo.verificationCode && t.CodeType == userInfo.verificationType);
//检查数据库是否存在该验证码
if (verifyRecord == null)
{
@ -630,7 +632,7 @@ namespace IRaCIS.Core.Application.Contracts
survey.IsDeleted = true;
await _repository.SaveChangesAsync();
await _trialSiteSurveyRepository.SaveChangesAsync();
return ResponseOutput.Ok();
@ -779,7 +781,7 @@ namespace IRaCIS.Core.Application.Contracts
saveItem.UserName = saveItem.UserCode;
saveItem.UserTypeEnum = _repository.Where<UserType>(t => t.Id == saveItem.UserTypeId).Select(t => t.UserTypeEnum).First();
saveItem.UserTypeEnum = _userTypeRepository.Where(t => t.Id == saveItem.UserTypeId).Select(t => t.UserTypeEnum).First();
var newUser = _userRepository.AddAsync(saveItem).Result;
@ -890,7 +892,7 @@ namespace IRaCIS.Core.Application.Contracts
});
await _repository.SaveChangesAsync();
await _trialSiteUserRepository.SaveChangesAsync();
}

View File

@ -40,6 +40,7 @@ namespace IRaCIS.Core.Application
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
IRepository<ReadingCriterionPage> _readingCriterionPageRepository,
IOrganInfoService _iOrganInfoService,
IRepository<TrialBodyPart> _trialBodyPartRepository,
IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository,
IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService,
@ -50,6 +51,7 @@ namespace IRaCIS.Core.Application
IRepository<SystemBasicData> _systemBasicDataRepository,
IRepository<SubjectVisit> _subjectVisitRepository,
IRepository<Enroll> _enrollRepository,
IRepository<TrialStateChange> _trialStateChangeRepository,
IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository) : BaseService, ITrialConfigService
{
@ -909,7 +911,7 @@ namespace IRaCIS.Core.Application
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
return ResponseOutput.Ok(await _trialRepository.SaveChangesAsync());
}
@ -1052,7 +1054,7 @@ namespace IRaCIS.Core.Application
//}); ;
var result = await _repository.SaveChangesAsync();
var result = await _trialRepository.SaveChangesAsync();
if (trialConfig.IsTrialProcessConfirmed)
{
@ -1101,7 +1103,7 @@ namespace IRaCIS.Core.Application
trialInfo.UpdateTime = DateTime.Now;
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
return ResponseOutput.Ok(await _trialRepository.SaveChangesAsync());
}
/// <summary>
@ -1192,7 +1194,7 @@ namespace IRaCIS.Core.Application
await _fusionCache.SetAsync(CacheKeys.Trial(trial.Id.ToString()), trialStatusStr, TimeSpan.FromDays(7));
await _repository.SaveChangesAsync();
await _trialRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -1206,7 +1208,7 @@ namespace IRaCIS.Core.Application
[HttpGet("{trialId:guid}")]
public async Task<List<TrialStateChangeDTO>> GetTrialStateChangeList(Guid trialId)
{
return await _repository.Where<TrialStateChange>(t => t.TrialId == trialId).ProjectTo<TrialStateChangeDTO>(_mapper.ConfigurationProvider).ToListAsync();
return await _trialStateChangeRepository.Where(t => t.TrialId == trialId).ProjectTo<TrialStateChangeDTO>(_mapper.ConfigurationProvider).ToListAsync();
}
@ -1298,7 +1300,7 @@ namespace IRaCIS.Core.Application
public async Task<IResponseOutput> AddOrUpdateTrialBodyPart(AddOrUpdateTrialBodyPartCommand incommand)
{
var codeList = await _repository.Where<TrialBodyPart>(t => t.TrialId == incommand.TrialId)
var codeList = await _trialBodyPartRepository.Where(t => t.TrialId == incommand.TrialId)
.WhereIf(incommand.Id != null, t => t.Id != incommand.Id)
.Select(t => t.Code).ToListAsync();
@ -1322,7 +1324,7 @@ namespace IRaCIS.Core.Application
VerifyMsg = _localizer["TrialBodyPart_DupName"]
};
var cro = await _repository.InsertOrUpdateAsync<TrialBodyPart, AddOrUpdateTrialBodyPartCommand>(incommand, true, exp);
var cro = await _trialBodyPartRepository.InsertOrUpdateAsync(incommand, true, exp);

View File

@ -171,7 +171,7 @@ namespace IRaCIS.Application.Services
}
var success = await _repository.SaveChangesAsync();
var success = await _trialUseRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}
@ -205,7 +205,7 @@ namespace IRaCIS.Application.Services
_mapper.Map(updateTrialUserCommand, trialUser);
await _repository.SaveChangesAsync();
await _trialUseRepository.SaveChangesAsync();
return ResponseOutput.Ok();
@ -239,7 +239,7 @@ namespace IRaCIS.Application.Services
await _trialUseRepository.BatchUpdateNoTrackingAsync(t => t.Id == id, u => new TrialUser() { IsDeleted = isDelete, RemoveTime = isDelete ? DateTime.Now : null });
await _repository.SaveChangesAsync();
await _trialUseRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}

View File

@ -32,6 +32,7 @@ namespace IRaCIS.Application.Services
IRepository<VisitStage> _visitStageRepository,
IRepository<TrialPaymentPrice> _trialPaymentPriceRepository,
IRepository<TrialDictionary> _trialDictionaryRepository,
IRepository<TrialBodyPart> _trialBodyPartRepository,
IOptionsMonitor<ServiceVerifyConfigOption> _verifyConfig) : BaseService, ITrialService
{
@ -222,7 +223,7 @@ namespace IRaCIS.Application.Services
await _visitStageRepository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 1, BlindName = "B" + 10.ToString("D3"), VisitDay = 30, VisitName = "Visit 1", VisitWindowLeft = -5, VisitWindowRight = 5 });
var success = await _repository.SaveChangesAsync();
var success = await _trialRepository.SaveChangesAsync();
//维护CRO Sponsor
await DealSponsorAndCROAsync(trial);
@ -238,7 +239,7 @@ namespace IRaCIS.Application.Services
}
await _repository.AddRangeAsync(needAddBodyPartList, true);
await _trialBodyPartRepository.AddRangeAsync(needAddBodyPartList, true);
await _fusionCache.SetAsync(CacheKeys.Trial(trial.Id.ToString()), StaticData.TrialState.TrialInitializing, TimeSpan.FromDays(7));
@ -286,7 +287,7 @@ namespace IRaCIS.Application.Services
trial.DeclarationTypes = $"|{string.Join('|', updateModel.DeclarationTypeEnumList.Select(x => ((int)x).ToString()).ToList())}|";
trial.AttendedReviewerTypes = $"|{string.Join('|', updateModel.AttendedReviewerTypeEnumList.Select(x => ((int)x).ToString()).ToList())}|";
var success = await _repository.SaveChangesAsync();
var success = await _trialRepository.SaveChangesAsync();
//维护CRO Sponsor
await DealSponsorAndCROAsync(trial);

View File

@ -133,7 +133,7 @@ namespace IRaCIS.Core.Application.Services
await _trialSiteRepository.AddRangeAsync(addArray);
return ResponseOutput.Result(await _repository.SaveChangesAsync());
return ResponseOutput.Result(await _trialSiteRepository.SaveChangesAsync());
}
@ -309,9 +309,9 @@ namespace IRaCIS.Core.Application.Services
return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteAssociatedSubject"]);
}
await _repository.DeleteAsync(relation);
await _trialSiteRepository.DeleteAsync(relation);
return ResponseOutput.Result(await _repository.SaveChangesAsync());
return ResponseOutput.Result(await _trialSiteUserRepository.SaveChangesAsync());
}

View File

@ -55,6 +55,7 @@ namespace IRaCIS.Application.Services
IRepository<Dictionary> _dictionaryRepository,
IRepository<DicomStudy> _dicomStudyRepository,
IRepository<SCPPatient> _scpPatientRepository,
IRepository<SCPImageUpload> _scpImageUploadRepository,
IDistributedLockProvider _distributedLockProvider) : BaseService
{
@ -106,7 +107,7 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<IResponseOutput<PageOutput<SCPImageUploadView>>> GetSCPImageUploadList(SCPImageUploadQuery inQuery)
{
var query = _repository.Where<SCPImageUpload>(t => t.TrialId == inQuery.TrialId)
var query = _scpImageUploadRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CalledAE), t => t.CalledAE.Contains(inQuery.CalledAE))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAEIP), t => t.CallingAEIP.Contains(inQuery.CallingAEIP))
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE))
@ -578,7 +579,6 @@ namespace IRaCIS.Application.Services
}
}
await _repository.SaveChangesAsync();
await _scpPatientRepository.BatchUpdateNoTrackingAsync(t => t.Id == scpStudy.PatientId, u => new SCPPatient() { SubjectId = subjectId });
await _scpStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == scpStudyId, u => new SCPStudy() { SubjectVisitId = subjectVisitId });
}
@ -588,7 +588,7 @@ namespace IRaCIS.Application.Services
await _repository.SaveChangesAsync();
await _scpStudyRepository.SaveChangesAsync();
return ResponseOutput.Ok();

View File

@ -31,6 +31,7 @@ namespace IRaCIS.Core.Application.Services
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
IRepository<Subject> _subjectRepository,
IRepository<DicomInstance> _dicomInstanceRepository,
IRepository<TaskStudy> _taskStudyRepository,
IServiceProvider _serviceProvider,
IRepository<DicomSeries> _dicomSeriesRepository,
IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository
@ -185,7 +186,7 @@ namespace IRaCIS.Core.Application.Services
//[Authorize(Policy = IRaCISPolicy.CRC)]
public async Task<IResponseOutput> DeleteSV(Guid id)
{
if (await _repository.AnyAsync<DicomStudy>(t => t.SubjectVisitId == id))
if (await _dicomStudyRepository.AnyAsync(t => t.SubjectVisitId == id))
{
//---当前访视已经有影像上传,不允许删除。
return ResponseOutput.NotOk(_localizer["Visit_UploadedNoDelete"]);
@ -449,7 +450,7 @@ namespace IRaCIS.Core.Application.Services
if (taskInfo.TaskStudyCount > 0)
{
var taskStudyList = await _repository.Where<TaskStudy>(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
foreach (var study in taskStudyList)
{

View File

@ -41,12 +41,15 @@ namespace IRaCIS.Application.Services
IRepository<SystemDocument> _systemDocumentRepository,
IRepository<TrialClinicalDataSetCriterion> _trialClinicalDataSetCriterionRepository,
IRepository<DicomInstance> _dicomInstanceRepository,
IRepository<Internationalization> _internationalizationRepository,
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
IRepository<DicomStudy> _dicomStudyRepository,
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
IRepository<VisitTask> _visitTaskRepository,
IRepository<DicomSeries> _dicomSeriesRepository,
IRepository<User> _userRepository,
IRepository<TrialBodyPart> _trialBodyPartRepository,
IDistributedLockProvider _distributedLockProvider,
ILogger<TestService> _logger) : BaseService
{
@ -79,7 +82,7 @@ namespace IRaCIS.Application.Services
await _readingConsistentClinicalDataRepository.BatchDeleteNoTrackingAsync(t => consistentSubjectIdList.Contains(t.SubjectId));
await _repository.SaveChangesAsync();
await _readingConsistentClinicalDataRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -175,11 +178,11 @@ namespace IRaCIS.Application.Services
foreach (var row in rows)
{
await _repository.InsertOrUpdateAsync<Internationalization, InternationalizationAddOrEdit>(row);
await _internationalizationRepository.InsertOrUpdateAsync(row);
}
await _repository.SaveChangesAsync();
await _internationalizationRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -188,7 +191,6 @@ namespace IRaCIS.Application.Services
public async Task<string> Get()
{
await _repository.Where<ReadingConsistentClinicalData>(t => t.SubjectId == Guid.Empty).Include(t => t.ReadingClinicalDataPDFList).ExecuteDeleteAsync();
// Generate RSA keys
var keyPair = RSAHelper.GenerateRSAKeyPair(2048);
@ -436,10 +438,10 @@ namespace IRaCIS.Application.Services
tempList.ForEach(t => t.TrialId = trialId);
await _repository.AddRangeAsync(tempList);
await _trialBodyPartRepository.AddRangeAsync(tempList);
}
await _repository.SaveChangesAsync();
await _dicRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -451,7 +453,7 @@ namespace IRaCIS.Application.Services
[AllowAnonymous]
public async Task<IResponseOutput> ModifyClinicalDataTable()
{
var needAddList = _repository.Where<ClinicalDataTrialSet>(t => t.CriterionEnumListStr != String.Empty && t.TrialClinicalDataSetCriteriaList.Count() == 0).ToList();
var needAddList = _clinicalDataTrialSetRepository.Where(t => t.CriterionEnumListStr != String.Empty && t.TrialClinicalDataSetCriteriaList.Count() == 0).ToList();
//遍历项目
@ -478,7 +480,7 @@ namespace IRaCIS.Application.Services
}
}
}
await _repository.SaveChangesAsync();
await _trialClinicalDataSetCriterionRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
@ -553,7 +555,7 @@ namespace IRaCIS.Application.Services
Console.WriteLine($"Error: {ex.Message}");
}
await _repository.SaveChangesAsync();
await _dicomStudyRepository.SaveChangesAsync();
}