diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index 055c10ee9..07a3e2433 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -194,6 +194,7 @@ 一致性核查 excel上传 支持三种格式 + diff --git a/IRaCIS.Core.Application/Service/Management/SystemNoticeService.cs b/IRaCIS.Core.Application/Service/Management/SystemNoticeService.cs index 05cf09c9f..798b8c691 100644 --- a/IRaCIS.Core.Application/Service/Management/SystemNoticeService.cs +++ b/IRaCIS.Core.Application/Service/Management/SystemNoticeService.cs @@ -62,7 +62,7 @@ namespace IRaCIS.Core.Application.Service } else { - var systemNotice = await _systemNoticeRepository.Where(t => t.Id == addOrEditSystemNotice.Id, true, true).Include(t => t.NoticeUserTypeList).FirstOrDefaultAsync(); + var systemNotice = (await _systemNoticeRepository.Where(t => t.Id == addOrEditSystemNotice.Id, true, true).Include(t => t.NoticeUserTypeList).FirstOrDefaultAsync()).IfNullThrowException(); if (addOrEditSystemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.HavePublished && systemNotice.NoticeStateEnum == Domain.Share.Management.SystemNotice_NoticeStateEnum.NotPublish) diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs index 024ac9d03..ffce75e54 100644 --- a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs @@ -67,10 +67,10 @@ namespace IRaCIS.Core.Application.Contracts { if (sujectVisitId != null) { - subjectVisit = _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == sujectVisitId).Result.IfNullThrowException(); + subjectVisit = _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == sujectVisitId).Result.IfNullThrowException(); } - if (subjectVisit.CurrentActionUserId != _userInfo.Id) + if (subjectVisit!.CurrentActionUserId != _userInfo.Id) { throw new BusinessValidationFailedException("您不是该质控任务当前领取人,没有操作权限!"); } @@ -81,7 +81,7 @@ namespace IRaCIS.Core.Application.Contracts public async Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy) { - NoneDicomStudy optEntity = null; + NoneDicomStudy? optEntity = null; using (await _mutex.LockAsync()) { if (addOrEditNoneDicomStudy.Id == Guid.Empty || addOrEditNoneDicomStudy.Id == null) diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index b11cf0b2c..ded6976d1 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -29,8 +29,8 @@ namespace IRaCIS.Core.Application.Image.QA if (isNeedVisitSearch) { - var inPlanArray = VisitPlanArray.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray(); - var isSelectOutPlan = VisitPlanArray.Any(t => t.Contains('.')); + var inPlanArray = VisitPlanArray!.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray(); + var isSelectOutPlan = VisitPlanArray!.Any(t => t.Contains('.')); if (inPlanArray.Length > 0) @@ -60,8 +60,8 @@ namespace IRaCIS.Core.Application.Image.QA if (isNeedVisitSearch) { - var inPlanArray = VisitPlanArray.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray(); - var isSelectOutPlan = VisitPlanArray.Any(t => t.Contains('.')); + var inPlanArray = VisitPlanArray!.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray(); + var isSelectOutPlan = VisitPlanArray!.Any(t => t.Contains('.')); if (inPlanArray.Length > 0) diff --git a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs index 4d83fe746..80316c132 100644 --- a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs @@ -63,7 +63,7 @@ namespace IRaCIS.Core.Application.Contracts { var selectItem = initList.FirstOrDefault(t => t.Id == trialQCQuestionFilterSelect.Id); - initList = initList.WhereIf(selectItem!=null, t => t.Id != selectItem.Id && t.ShowOrder < selectItem.ShowOrder).ToList(); + initList = initList.WhereIf(selectItem != null, t => t.Id != selectItem!.Id && t.ShowOrder < selectItem.ShowOrder).ToList(); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs index a34c84530..b3c43b470 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs @@ -228,7 +228,7 @@ namespace IRaCIS.Core.Application.Service var builder = new BodyBuilder(); - var sysUserInfo = await _userRepository.Where(t => t.Id == userInfo.SystemUserId).FirstOrDefaultAsync(); + var sysUserInfo = (await _userRepository.Where(t => t.Id == userInfo.SystemUserId).FirstOrDefaultAsync()).IfNullThrowException(); builder.HtmlBody = @$" @@ -338,7 +338,7 @@ namespace IRaCIS.Core.Application.Service var builder = new BodyBuilder(); - var sysUserInfo = await _userRepository.Where(t => t.Id == needUpdate.SystemUserId).Include(t => t.UserTypeRole).FirstOrDefaultAsync(); + var sysUserInfo = (await _userRepository.Where(t => t.Id == needUpdate.SystemUserId).Include(t => t.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException(); int verificationCode = new Random().Next(100000, 1000000); diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs index 096f4725a..6bd8cd934 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs @@ -48,7 +48,7 @@ namespace IRaCIS.Application.Services bool isadd = false; - Subject mapedSubject = null; + Subject? mapedSubject = null; if (subjectCommand.Id == null) //insert { diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index a59464315..f2275e876 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -52,7 +52,7 @@ namespace IRaCIS.Core.Application.Services svCommand.VisitExecuted = svCommand.IsLostVisit ? VisitExecutedEnum.Executed : svCommand.VisitExecuted; - SubjectVisit dbBeforeEntity = null; + SubjectVisit? dbBeforeEntity = null; //Add if (svCommand.Id == null) { diff --git a/IRaCIS.Core.Application/Triggers/SubjectStateTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectStateTrigger.cs index b952f1c88..7f6524fdb 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectStateTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectStateTrigger.cs @@ -31,7 +31,7 @@ namespace IRaCIS.Core.Application.Triggers { //Site变更 - if ( context.Entity.SiteId != context.UnmodifiedEntity.SiteId) + if ( context.Entity.SiteId != context.UnmodifiedEntity?.SiteId) { var subjectId = context.Entity.Id; var siteId = context.Entity.SiteId; @@ -59,7 +59,7 @@ namespace IRaCIS.Core.Application.Triggers // 出组 状态发生了变更 - if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.Status != context.UnmodifiedEntity.Status) + if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.Status != context.UnmodifiedEntity?.Status) { if (context.Entity.FinalSubjectVisitId != null) { diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs index 22d530d64..6d6f467f7 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs @@ -28,7 +28,7 @@ namespace IRaCIS.Core.Application.Triggers { // 修改了IsFinalVisit - if (context.UnmodifiedEntity.IsFinalVisit != subjectVisit.IsFinalVisit) + if (context.UnmodifiedEntity?.IsFinalVisit != subjectVisit.IsFinalVisit) { if (context.Entity.IsFinalVisit) { diff --git a/IRaCIS.Core.Application/Triggers/TrialVisitPlanConfirmTrigger.cs b/IRaCIS.Core.Application/Triggers/TrialVisitPlanConfirmTrigger.cs index 6c241e305..2ea784ff2 100644 --- a/IRaCIS.Core.Application/Triggers/TrialVisitPlanConfirmTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/TrialVisitPlanConfirmTrigger.cs @@ -36,7 +36,7 @@ namespace IRaCIS.Core.Application.Triggers { //项目访视计划确认 状态改变触发 - if (trial.VisitPlanConfirmed && trial.VisitPlanConfirmed != context.UnmodifiedEntity.VisitPlanConfirmed) + if (trial.VisitPlanConfirmed && trial.VisitPlanConfirmed != context.UnmodifiedEntity?.VisitPlanConfirmed) { //找到访视计划修改的Item var changedList = await _visitStageRepository.Where(t => t.TrialId == trial.Id && t.IsConfirmed == false) diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index a2a5dee2a..eb8dce2ec 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -324,7 +324,7 @@ namespace IRaCIS.Core.Infra.EFCore { var query = ignoreQueryFilter ? _dbSet.AsNoTracking().IgnoreQueryFilters() : _dbSet.AsNoTracking(); - var waitDelete = await query.Where(t=>t.Id== id).FirstOrDefaultAsync(); + var waitDelete = await query.Where(t => t.Id == id).FirstOrDefaultAsync(); if (waitDelete == null) { @@ -572,11 +572,11 @@ namespace IRaCIS.Core.Infra.EFCore { foreach (var item in dto.Items) { - item.Json = await GetInspectionEnumValue(item.Identification,item.Json); + item.Json = await GetInspectionEnumValue(item.Identification, item.Json); item.Json = await SetEnum(dto.TrialId, item.Identification, item.Json); } - return dto.Items.Select(x=>x.Json).ToList(); + return dto.Items.Select(x => x.Json).ToList(); } @@ -608,7 +608,7 @@ namespace IRaCIS.Core.Infra.EFCore continue; } string Table = item.ForeignKeyTable; - string ForeignKeyValue = item.ForeignKeyValue; + string ForeignKeyValue = item.ForeignKeyValue; string ForeignKeyText = item.ForeignKeyText; string value = JsonDataValue[item.Key].ToString(); string para = string.Empty; @@ -631,7 +631,7 @@ namespace IRaCIS.Core.Infra.EFCore new SqlParameter("@para",para) }; JsonDataValue[item.Key] = string.Join(",", _dbContext.Database.SqlQuery(sql, paravalue).Select(x => x.Text).ToList()); - } + } return JsonConvert.SerializeObject(JsonDataValue); } @@ -647,7 +647,7 @@ namespace IRaCIS.Core.Infra.EFCore public async Task SetEnum(Guid trilaid, string identification, string json) { var list = await (from u in _dbContext.FrontAuditConfig.Where(x => x.Identification == identification) - join p in _dbContext.FrontAuditConfig.Where(x => x.Code != "AuditState" && x.EnumType=="Date") on u.Id equals p.ParentId + join p in _dbContext.FrontAuditConfig.Where(x => x.Code != "AuditState" && x.EnumType == "Date") on u.Id equals p.ParentId select new { Key = p.Code, @@ -775,11 +775,12 @@ namespace IRaCIS.Core.Infra.EFCore private async Task AddInspectionAsync(TEntity entity, bool isSaveAudit = false) { bool needsave = true; - DataInspection inspectionData = new DataInspection() { + DataInspection inspectionData = new DataInspection() + { Identification = $"{GetRequestUrl()}/{ typeof(TEntity).ToString().Substring(typeof(TEntity).ToString().LastIndexOf('.') + 1)}/Add", }; - - + + MapData(entity, inspectionData); var createtime = DateTime.Now; @@ -894,7 +895,7 @@ namespace IRaCIS.Core.Infra.EFCore { await AddInspectionRecordAsync(inspectionData, entity); } - + } @@ -1088,7 +1089,7 @@ namespace IRaCIS.Core.Infra.EFCore } } - + /// @@ -1271,7 +1272,7 @@ namespace IRaCIS.Core.Infra.EFCore } #endregion - + } #endregion @@ -1331,9 +1332,15 @@ namespace IRaCIS.Core.Infra.EFCore { query = query.IgnoreQueryFilters(); } - if (exp == null) - return await query.FirstOrDefaultAsync().ConfigureAwait(false); - return await query.FirstOrDefaultAsync(exp).ConfigureAwait(false); + + + if (exp != null) + { + query = query.Where(exp); + } + + return await query.FirstOrDefaultAsync().ConfigureAwait(false); + } #endregion