修改稽查

Uat_Study
hang 2023-05-24 15:43:56 +08:00
parent 957c85d641
commit 6468a6505b
8 changed files with 904 additions and 446 deletions

View File

@ -33,6 +33,7 @@ public static class SendEmailHelper
await smtp.AuthenticateAsync(_systemEmailConfig.FromEmail, _systemEmailConfig.AuthorizationCode); await smtp.AuthenticateAsync(_systemEmailConfig.FromEmail, _systemEmailConfig.AuthorizationCode);
await smtp.SendAsync(messageToSend); await smtp.SendAsync(messageToSend);
await smtp.DisconnectAsync(true); await smtp.DisconnectAsync(true);
@ -42,13 +43,28 @@ public static class SendEmailHelper
catch (Exception ex) catch (Exception ex)
{ {
//---邮件发送失败,您进行的操作未能成功,请检查邮箱或联系维护人员 //---邮件发送失败,您进行的操作未能成功,请检查邮箱或联系维护人员
throw new Exception(StaticData.International("SendEmail_SendFail")); throw new Exception(StaticData.International("SendEmail_SendFail"));
} }
} }
public static async Task<bool> TestEmailConfigAsync(SystemEmailSendConfig _systemEmailConfig)
{
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
await client.ConnectAsync(_systemEmailConfig.Host, _systemEmailConfig.Port, SecureSocketOptions.SslOnConnect);
await client.AuthenticateAsync(_systemEmailConfig.FromEmail, _systemEmailConfig.AuthorizationCode);
await client.DisconnectAsync(true);
}
return true;
}
public static async Task SendEmailAsync(SMTPEmailConfig sMTPEmailConfig, EventHandler<MessageSentEventArgs>? messageSentSuccess = null) public static async Task SendEmailAsync(SMTPEmailConfig sMTPEmailConfig, EventHandler<MessageSentEventArgs>? messageSentSuccess = null)
{ {
var messageToSend = new MimeMessage(); var messageToSend = new MimeMessage();
@ -63,7 +79,7 @@ public static class SendEmailHelper
if (sMTPEmailConfig.ToMailAddressList.Count == 0) if (sMTPEmailConfig.ToMailAddressList.Count == 0)
{ {
//---没有收件人 //---没有收件人
throw new ArgumentException(StaticData.International("SendEmail_NoRecipient")); throw new ArgumentException(StaticData.International("SendEmail_NoRecipient"));
} }
else else

View File

@ -1384,8 +1384,6 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok(entity.Id.ToString()); return ResponseOutput.Ok(entity.Id.ToString());
} }
else else
{ {
@ -1424,10 +1422,7 @@ namespace IRaCIS.Core.Application.Service
private async Task TestEmailConfigAsync(TrialEmailNoticeConfigAddOrEdit config) private async Task TestEmailConfigAsync(TrialEmailNoticeConfigAddOrEdit config)
{ {
var toUserList = await _repository.Where<TrialUser>(t => t.TrialId == config.TrialId)
.WhereIf(config.ToUserTypeList != null, t => config.ToUserTypeList.Contains(t.User.UserTypeEnum))
.Select(t => new { t.User.EMail, t.User.FullName }).ToListAsync();
if (!config.FromEmail.Contains("@") || string.IsNullOrEmpty(config.FromEmail)) if (!config.FromEmail.Contains("@") || string.IsNullOrEmpty(config.FromEmail))
{ {
@ -1435,52 +1430,16 @@ namespace IRaCIS.Core.Application.Service
throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidEmailConfig"]); throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidEmailConfig"]);
} }
if (toUserList.Count() == 0 || toUserList.Where(t => t.EMail.Contains("@")).Count() == 0)
{
//---项目没有有效的收件人,无法发送邮件
throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidRecipient"]);
}
var sendEmailConfig = new SMTPEmailConfig();
sendEmailConfig.FromEmailAddress = new MimeKit.MailboxAddress(config.FromName, config.FromEmail);
sendEmailConfig.AuthorizationCode = config.AuthorizationCode;
sendEmailConfig.UserName = config.FromEmail;
sendEmailConfig.Host = config.SMTPServerAddress;
sendEmailConfig.Port = config.SMTPServerPort;
sendEmailConfig.ToMailAddressList.Add(new MimeKit.MailboxAddress(config.FromName, config.FromEmail));
var pathToFile = _hostEnvironment.WebRootPath
+ Path.DirectorySeparatorChar.ToString()
+ "EmailTemplate"
+ Path.DirectorySeparatorChar.ToString()
//+ "EmailConfigTest.html";
+ (_userInfo.IsEn_Us ? "EmailConfigTest_US.html" : "EmailConfigTest.html");
//---项目邮件测试
sendEmailConfig.TopicDescription = _localizer["TrialEmailN_EmailTestMessage"];
using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
{
var templateInfo = SourceReader.ReadToEnd();
sendEmailConfig.HtmlBodyStr = string.Format(templateInfo,
//--- 收到此邮件,代表邮件配置正确
_localizer["TrialEmailN_ConfigurationCorrect"]
);
}
try try
{ {
await SendEmailHelper.SendEmailAsync(sendEmailConfig); await SendEmailHelper.TestEmailConfigAsync(new SystemEmailSendConfig()
{
AuthorizationCode = config.AuthorizationCode,
FromEmail = config.FromEmail,
FromName = config.FromName,
Host = config.SMTPServerAddress,
Port = config.SMTPServerPort
});
} }
catch (Exception ex) catch (Exception ex)
@ -1490,6 +1449,72 @@ namespace IRaCIS.Core.Application.Service
throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidSenderEmailConfig"] + ex.Message); throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidSenderEmailConfig"] + ex.Message);
} }
#region 人员还未加入,可以先配置邮件 历史废弃
//var toUserList = await _repository.Where<TrialUser>(t => t.TrialId == config.TrialId)
// .WhereIf(config.ToUserTypeList != null, t => config.ToUserTypeList.Contains(t.User.UserTypeEnum))
// .Select(t => new { t.User.EMail, t.User.FullName }).ToListAsync();
//if (toUserList.Count() == 0 || toUserList.Where(t => t.EMail.Contains("@")).Count() == 0)
//{
// //---项目没有有效的收件人,无法发送邮件
// throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidRecipient"]);
//}
//var sendEmailConfig = new SMTPEmailConfig();
//sendEmailConfig.FromEmailAddress = new MimeKit.MailboxAddress(config.FromName, config.FromEmail);
//sendEmailConfig.AuthorizationCode = config.AuthorizationCode;
//sendEmailConfig.UserName = config.FromEmail;
//sendEmailConfig.Host = config.SMTPServerAddress;
//sendEmailConfig.Port = config.SMTPServerPort;
//sendEmailConfig.ToMailAddressList.Add(new MimeKit.MailboxAddress(config.FromName, config.FromEmail));
//var pathToFile = _hostEnvironment.WebRootPath
// + Path.DirectorySeparatorChar.ToString()
// + "EmailTemplate"
// + Path.DirectorySeparatorChar.ToString()
// //+ "EmailConfigTest.html";
// + (_userInfo.IsEn_Us ? "EmailConfigTest_US.html" : "EmailConfigTest.html");
////---项目邮件测试
//sendEmailConfig.TopicDescription = _localizer["TrialEmailN_EmailTestMessage"];
//using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
//{
// var templateInfo = SourceReader.ReadToEnd();
// sendEmailConfig.HtmlBodyStr = string.Format(templateInfo,
// //--- 收到此邮件,代表邮件配置正确
// _localizer["TrialEmailN_ConfigurationCorrect"]
// );
//}
//try
//{
// await SendEmailHelper.SendEmailAsync(sendEmailConfig);
//}
//catch (Exception ex)
//{
// //---发件人配置错误,请核对服务器地址或者授权码是否填写有误
// throw new BusinessValidationFailedException(_localizer["TrialEmailN_InvalidSenderEmailConfig"] + ex.Message);
//}
#endregion
} }

View File

@ -754,7 +754,7 @@ namespace IRaCIS.Core.Application.Service
{ {
JArray arrays = (JArray)value; JArray arrays = (JArray)value;
//动态配置表翻译
if (item.DataType == "Table") if (item.DataType == "Table")
{ {
var tableConfigList = JsonConvert.DeserializeObject<List<TableConfig>>(item.TableConfigJsonStr) ?? new List<TableConfig>(); var tableConfigList = JsonConvert.DeserializeObject<List<TableConfig>>(item.TableConfigJsonStr) ?? new List<TableConfig>();

View File

@ -716,9 +716,10 @@ namespace IRaCIS.Core.Application.Image.QA
study.BodyPartForEdit = updateModalityCommand.BodyPart; study.BodyPartForEdit = updateModalityCommand.BodyPart;
//study.Modalities = updateModalityCommand.Modality;
study.ModalityForEdit = updateModalityCommand.Modality; study.ModalityForEdit = updateModalityCommand.Modality;
await _repository.BatchUpdateAsync<DicomSeries>(t => t.StudyId == studyId, r => new DicomSeries() { BodyPartForEdit = updateModalityCommand.BodyPart, Modality = updateModalityCommand.Modality });
await _repository.BatchUpdateAsync<DicomSeries>(t => t.StudyId == studyId, r => new DicomSeries() { BodyPartForEdit = updateModalityCommand.BodyPart });
} }
else if (updateModalityCommand.Type == 2) else if (updateModalityCommand.Type == 2)
{ {

View File

@ -72,7 +72,7 @@ namespace IRaCIS.Core.Application.Service
/// <param name="inQuery"></param> /// <param name="inQuery"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public async Task<(PageOutput<SubjectCriteriaEvaluationView>, object)> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery) public async Task<IResponseOutput<PageOutput<SubjectCriteriaEvaluationView>> > GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery)
{ {
var trialReadingCritionList = _trialReadingCriterionRepository.Where(t => t.TrialId == inQuery.TrialId).ToList(); var trialReadingCritionList = _trialReadingCriterionRepository.Where(t => t.TrialId == inQuery.TrialId).ToList();
@ -235,7 +235,7 @@ namespace IRaCIS.Core.Application.Service
return (pageList, addtionalQustionInfoList); return ResponseOutput.Ok (pageList, addtionalQustionInfoList);
} }
@ -257,17 +257,24 @@ namespace IRaCIS.Core.Application.Service
{ {
var entity = await _subjectCriteriaEvaluationRepository.InsertFromDTOAsync(addOrEditSubjectCriteriaEvaluation); var entity = await _subjectCriteriaEvaluationRepository.InsertFromDTOAsync(addOrEditSubjectCriteriaEvaluation);
//找到一致性核查通过的访视 并且没有 自动影像筛选的数据 if (addOrEditSubjectCriteriaEvaluation.IsJoinEvaluation)
var subjectVisitIdList = await _subjectVisitRepository.Where(t => t.SubjectId == addOrEditSubjectCriteriaEvaluation.SubjectId && t.CheckState == CheckStateEnum.CVPassed
&& !t.SubjectCriteriaEvaluationVisitFilterList.Any(t => t.TrialReadingCriterionId == addOrEditSubjectCriteriaEvaluation.TrialReadingCriterionId && t.SubjectId == addOrEditSubjectCriteriaEvaluation.SubjectId)).Select(t => t.Id)
.ToListAsync();
foreach (var subjectVisitId in subjectVisitIdList)
{ {
await AutoSubjectCriteriaEvaluationVisitFilter(addOrEditSubjectCriteriaEvaluation.SubjectId, subjectVisitId, addOrEditSubjectCriteriaEvaluation.TrialReadingCriterionId);
//找到一致性核查通过的访视 并且没有 自动影像筛选的数据
var subjectVisitIdList = await _subjectVisitRepository.Where(t => t.SubjectId == addOrEditSubjectCriteriaEvaluation.SubjectId && t.CheckState == CheckStateEnum.CVPassed
&& !t.SubjectCriteriaEvaluationVisitFilterList.Any(t => t.TrialReadingCriterionId == addOrEditSubjectCriteriaEvaluation.TrialReadingCriterionId && t.SubjectId == addOrEditSubjectCriteriaEvaluation.SubjectId)).Select(t => t.Id)
.ToListAsync();
foreach (var subjectVisitId in subjectVisitIdList)
{
await AutoSubjectCriteriaEvaluationVisitFilter(addOrEditSubjectCriteriaEvaluation.SubjectId, subjectVisitId, addOrEditSubjectCriteriaEvaluation.TrialReadingCriterionId);
}
} }
} }
//编辑 //编辑

View File

@ -39,8 +39,8 @@ namespace IRaCIS.Core.Application
private readonly IOrganInfoService _iOrganInfoService; private readonly IOrganInfoService _iOrganInfoService;
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository; private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository; private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository; private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IReadingQuestionService iReadingQuestionService; private readonly IReadingQuestionService iReadingQuestionService;
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository; private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer; private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
@ -62,8 +62,8 @@ namespace IRaCIS.Core.Application
IRepository<ReadingCriterionPage> readingCriterionPageRepository, IRepository<ReadingCriterionPage> readingCriterionPageRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IRepository<TaskAllocationRule> taskAllocationRuleRepository,
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository, IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository, IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService, IReadingQuestionService iReadingQuestionService,
IEasyCachingProvider provider, IEasyCachingProvider provider,
IOrganInfoService iOrganInfoService, IOrganInfoService iOrganInfoService,
IRepository<TrialCriterionAdditionalAssessmentType> trialCriterionAdditionalAssessmentTypeRepository, IRepository<TrialCriterionAdditionalAssessmentType> trialCriterionAdditionalAssessmentTypeRepository,
@ -79,8 +79,8 @@ namespace IRaCIS.Core.Application
_trialRepository = trialRepository; _trialRepository = trialRepository;
_taskAllocationRuleRepository = taskAllocationRuleRepository; _taskAllocationRuleRepository = taskAllocationRuleRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository; this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this.iReadingQuestionService = iReadingQuestionService; this.iReadingQuestionService = iReadingQuestionService;
this._trialQCQuestionRepository = trialQCQuestionRepository; this._trialQCQuestionRepository = trialQCQuestionRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository; this._readingQuestionTrialRepository = readingQuestionTrialRepository;
@ -269,15 +269,16 @@ namespace IRaCIS.Core.Application
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value) var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
.Select(x=>new ReadingTrialCriterionDictionary() { .Select(x => new ReadingTrialCriterionDictionary()
{
CriterionId = inDto.TrialReadingCriterionId, CriterionId = inDto.TrialReadingCriterionId,
CrterionDictionaryGroup=x.CrterionDictionaryGroup, CrterionDictionaryGroup = x.CrterionDictionaryGroup,
IsBaseLineUse=x.IsBaseLineUse, IsBaseLineUse = x.IsBaseLineUse,
IsFollowVisitUse=x.IsFollowVisitUse, IsFollowVisitUse = x.IsFollowVisitUse,
DictionaryId=x.DictionaryId, DictionaryId = x.DictionaryId,
ParentCode=x.ParentCode, ParentCode = x.ParentCode,
}) })
.ToListAsync(); .ToListAsync();
criterionDictionaryList.ForEach(x => criterionDictionaryList.ForEach(x =>
@ -287,7 +288,7 @@ namespace IRaCIS.Core.Application
}); });
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList); await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList); await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
#endregion #endregion
@ -624,7 +625,7 @@ namespace IRaCIS.Core.Application
if (inDto.TrialCriterionAdditionalAssessmentTypeList.All(t => t.IsSelected != true)) if (inDto.TrialCriterionAdditionalAssessmentTypeList.All(t => t.IsSelected != true))
{ {
//---选择了附加评估,必须勾选附加评估类型 //---选择了附加评估,必须勾选附加评估类型
throw new BusinessValidationFailedException(_localizer["TrialConfig_AddEvalReq"]); throw new BusinessValidationFailedException(_localizer["TrialConfig_AddEvalReq"]);
} }
@ -641,7 +642,7 @@ namespace IRaCIS.Core.Application
AdditionalAssessment additional = new AdditionalAssessment(); AdditionalAssessment additional = new AdditionalAssessment();
var addTypeList = additional.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType); var addTypeList = additional.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType);
if(!await _readingQuestionTrialRepository.AsQueryable().IgnoreQueryFilters().AnyAsync(t => t.ReadingQuestionCriterionTrialId == updateItem.TrialReadingCriterionId && t.IsAdditional==true)) if (!await _readingQuestionTrialRepository.AsQueryable().IgnoreQueryFilters().AnyAsync(t => t.ReadingQuestionCriterionTrialId == updateItem.TrialReadingCriterionId && t.IsAdditional == true))
{ {
foreach (var addType in addTypeList) foreach (var addType in addTypeList)
{ {
@ -653,9 +654,9 @@ namespace IRaCIS.Core.Application
await _readingQuestionTrialRepository.AddAsync(question); await _readingQuestionTrialRepository.AddAsync(question);
} }
} }
} }
} }
await _trialCriterionAdditionalAssessmentTypeRepository.UpdatePartialFromQueryAsync(updateItem.Id, t => new TrialCriterionAdditionalAssessmentType() { IsSelected = updateItem.IsSelected }); await _trialCriterionAdditionalAssessmentTypeRepository.UpdatePartialFromQueryAsync(updateItem.Id, t => new TrialCriterionAdditionalAssessmentType() { IsSelected = updateItem.IsSelected });
} }
} }
@ -953,6 +954,47 @@ namespace IRaCIS.Core.Application
_mapper.Map(trialConfig, trialInfo); _mapper.Map(trialConfig, trialInfo);
//不管是否修改,一定要记录稽查
trialInfo.UpdateTime=DateTime.Now;
//// 修改临床数据
var clinicalDataTrialSetList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId, true).ToListAsync();
foreach (var item in clinicalDataTrialSetList)
{
if(trialConfig.ClinicalDataTrialSetIds.Contains(item.Id))
{
item.IsConfirm = true;
}
else
{
item.IsConfirm = false;
}
}
//// 修改阅片标准
var readingQuestionCriterionTrialList = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId, true).ToListAsync();
foreach (var item in readingQuestionCriterionTrialList)
{
if (trialConfig.TrialCriterionIds.Contains(item.Id))
{
item.IsConfirm = true;
}
else
{
item.IsConfirm = false;
}
}
#region 废弃
#endregion
//if (trialInfo.IsGlobalReading && (trialInfo.IsArbitrationReading ?? false)) //if (trialInfo.IsGlobalReading && (trialInfo.IsArbitrationReading ?? false))
//{ //{
// trialInfo.ArbitrationRule = ArbitrationRule.Reading; // trialInfo.ArbitrationRule = ArbitrationRule.Reading;
@ -962,40 +1004,40 @@ namespace IRaCIS.Core.Application
//{ //{
// trialInfo.ArbitrationRule = ArbitrationRule.Visit; // trialInfo.ArbitrationRule = ArbitrationRule.Visit;
//} //}
trialInfo.UpdateTime = DateTime.Now; //trialInfo.UpdateTime = DateTime.Now;
// 修改临床数据 //// 修改临床数据
var noconfirmids = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId && !trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Select(x => x.Id).ToListAsync(); //var noconfirmids = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId && !trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
foreach (var item in trialConfig.ClinicalDataTrialSetIds) //foreach (var item in trialConfig.ClinicalDataTrialSetIds)
{ //{
await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet() // await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
{ // {
IsConfirm = true // IsConfirm = true
}); // });
} //}
foreach (var item in noconfirmids) //foreach (var item in noconfirmids)
{ //{
await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet() // await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
{ // {
IsConfirm = false // IsConfirm = false
}); // });
} //}
// 修改阅片标准 //// 修改阅片标准
var cancelConfirmCriterionIds = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId && x.IsConfirm && !trialConfig.TrialCriterionIds.Contains(x.Id)).Select(x => x.Id).ToListAsync(); //var cancelConfirmCriterionIds = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId && x.IsConfirm && !trialConfig.TrialCriterionIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => cancelConfirmCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial() //await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => cancelConfirmCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
{ //{
IsConfirm = false // IsConfirm = false
}); //});
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => trialConfig.TrialCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial() //await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => trialConfig.TrialCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
{ //{
IsConfirm = true // IsConfirm = true
}); ; //}); ;
@ -1159,11 +1201,11 @@ namespace IRaCIS.Core.Application
public async Task<TrialConfigDTO> GetTrialConfigInfo(Guid trialId) public async Task<TrialConfigDTO> GetTrialConfigInfo(Guid trialId)
{ {
return await _trialRepository.Where(t => t.Id == trialId).ProjectTo<TrialConfigDTO>(_mapper.ConfigurationProvider, new return await _trialRepository.Where(t => t.Id == trialId).ProjectTo<TrialConfigDTO>(_mapper.ConfigurationProvider, new
{ {
isEn_Us = _userInfo.IsEn_Us isEn_Us = _userInfo.IsEn_Us
}) })
.FirstOrDefaultAsync().IfNullThrowException(); .FirstOrDefaultAsync().IfNullThrowException();
} }

File diff suppressed because it is too large Load Diff

View File

@ -150,6 +150,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common.Dto
//标识操作 是否区分接口 //标识操作 是否区分接口
public bool IsDistinctionInterface=true; public bool IsDistinctionInterface=true;
public bool IsSelfDefine = false;
public string ExtraIndentification = string.Empty; public string ExtraIndentification = string.Empty;