From 787081a485f3fd3296483590de26d12aa08ed21d Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 25 Oct 2024 13:13:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=9F=E5=BC=83=20TrialResourceFilter=20=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8ActionFilter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/FinancialChangeController.cs | 7 ++- .../Controllers/InspectionController.cs | 59 ++++++++++--------- .../Controllers/UploadDownLoadController.cs | 9 +-- IRaCIS.Core.API/Progranm.cs | 2 +- IRaCIS.Core.Application/GlobalUsings.cs | 2 +- .../Allocation/TaskAllocationRuleService.cs | 4 +- .../Allocation/TaskConsistentRuleService.cs | 10 ++-- .../TaskMedicalReviewRuleService.cs | 4 +- .../Allocation/TaskMedicalReviewService.cs | 4 +- .../Service/Allocation/VisitTaskService.cs | 18 +++--- .../Service/Document/TrialDocumentService.cs | 8 +-- .../Document/TrialEmailNoticeConfigService.cs | 4 +- .../ImageAndDoc/DownloadAndUploadService.cs | 4 +- .../ImageAndDoc/NoneDicomStudyService.cs | 6 +- .../Service/ImageAndDoc/StudyService.cs | 4 +- .../Service/QC/QCOperationService.cs | 50 ++++++++-------- .../Service/QC/TrialQCQuestionService.cs | 6 +- .../ReadingMedicalReviewService.cs | 12 ++-- .../ReadingMedicineQuestionService.cs | 2 +- .../ReadingGlobalTaskService.cs | 4 +- .../ReadingImageTaskService.cs | 18 +++--- .../ReadingJudgeTaskService.cs | 6 +- .../ReadingNoDicomTaskService.cs | 2 +- .../ReadingOncologyTaskService.cs | 2 +- .../ReadingPeriod/ReadModuleService.cs | 4 +- .../ReadingPeriod/ReadingPeriodSetService.cs | 8 +-- .../TrialSiteEquipmentSurveyService.cs | 4 +- .../SiteSurvey/TrialSiteSurveyService.cs | 10 ++-- .../SiteSurvey/TrialSiteUserSurveyService.cs | 4 +- .../UltrasonicDicomService.cs | 2 +- .../TrialSiteUser/TrialConfigService.cs | 30 +++++----- .../TrialSiteUser/TrialExternalUserService.cs | 4 +- .../TrialSiteUser/TrialMaintenanceService.cs | 6 +- .../Service/TrialSiteUser/TrialService.cs | 2 +- .../Service/TrialSiteUser/TrialSiteService.cs | 8 +-- .../Service/Visit/PatientService.cs | 2 +- .../Service/Visit/SubjectService.cs | 6 +- .../Service/Visit/SubjectVisitService.cs | 8 +-- .../Service/Visit/VisitPlanService.cs | 10 ++-- .../Service/WorkLoad/DoctorWorkloadService.cs | 10 ++-- .../Service/WorkLoad/EnrollService.cs | 10 ++-- 41 files changed, 189 insertions(+), 186 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs index d64215b8e..0fc0b5404 100644 --- a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs +++ b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs @@ -1,5 +1,6 @@ using IRaCIS.Application.Contracts; using IRaCIS.Application.Interfaces; +using IRaCIS.Core.Application.BusinessFilter; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Service; using IRaCIS.Core.Application.Service.Inspection.DTO; @@ -47,7 +48,7 @@ namespace IRaCIS.Core.API.Controllers.Special [HttpPost, Route("trial/addOrUpdateTrial")] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AddOrUpdateTrial", "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AddOrUpdateTrial", "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task> AddOrUpdateTrial(TrialCommand param) { var userId = Guid.Parse(User.FindFirst("id").Value); @@ -87,7 +88,7 @@ namespace IRaCIS.Core.API.Controllers.Special /// [HttpPost, Route("doctorWorkload/workLoadAddOrUpdate")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task WorkLoadAddOrUpdate([FromServices] IDoctorWorkloadService _trialWorkloadService, WorkloadCommand workLoadAddOrUpdateModel) { var userId = Guid.Parse(User.FindFirst("id").Value); @@ -109,7 +110,7 @@ namespace IRaCIS.Core.API.Controllers.Special [HttpDelete, Route("doctorWorkload/deleteWorkLoad/{id:guid}/{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteWorkLoad([FromServices] IDoctorWorkloadService _trialWorkloadService, Guid id) { //先判断该工作量的费用是否被锁定,如果被锁定,则不能删除 diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 3e2855043..cfa60569d 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -1,5 +1,6 @@  using IRaCIS.Application.Interfaces; +using IRaCIS.Core.Application.BusinessFilter; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Image.QA; @@ -51,7 +52,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingImageTask/SubmitOncologyReadingInfo")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SetOncologyReadingInfo(DataInspectionDto opt) @@ -68,7 +69,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingImageTask/SubmitDicomVisitTask")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SubmitDicomVisitTask(DataInspectionDto opt) @@ -87,7 +88,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingImageTask/SubmitGlobalReadingInfo")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SubmitGlobalReadingInfo(DataInspectionDto opt) @@ -106,7 +107,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/configTrialBasicInfo/TrialReadingInfoSign")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task TrialReadingInfoSign(DataInspectionDto opt) @@ -125,7 +126,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingMedicalReview/FinishMedicalReview")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task FinishMedicalReview(DataInspectionDto opt) @@ -142,7 +143,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingMedicineQuestion/ConfirmReadingMedicineQuestion")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task ConfirmReadingMedicineQuestion(DataInspectionDto opt) @@ -160,7 +161,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingImageTask/SubmitVisitTaskQuestions")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SubmitVisitTaskQuestions(DataInspectionDto opt) @@ -178,7 +179,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ClinicalAnswer/CRCSignClinicalData")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task CRCSignClinicalData(DataInspectionDto opt) @@ -196,7 +197,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ClinicalAnswer/CRCConfirmClinical")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task CRCConfirmClinical(DataInspectionDto opt) @@ -213,7 +214,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ClinicalAnswer/CRCCancelConfirmClinical")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task CRCCancelConfirmClinical(DataInspectionDto opt) @@ -231,7 +232,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ClinicalAnswer/PMConfirmClinical")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task PMConfirmClinical(DataInspectionDto opt) @@ -249,7 +250,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingClinicalData/SignConsistencyAnalysisReadingClinicalData")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SignConsistencyAnalysisReadingClinicalData(DataInspectionDto opt) @@ -266,7 +267,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ClinicalAnswer/SubmitClinicalFormAndSign")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SubmitClinicalFormAndSign(DataInspectionDto opt) @@ -283,7 +284,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadingImageTask/SubmitJudgeVisitTaskResult")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SubmitJudgeVisitTaskResult(DataInspectionDto opt) @@ -302,7 +303,7 @@ namespace IRaCIS.Core.API.Controllers /// [HttpPost, Route("Inspection/configTrialBasicInfo/ConfigTrialBasicInfoConfirm")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt" )] public async Task ConfigTrialBasicInfoConfirm(DataInspectionDto opt) { @@ -322,7 +323,7 @@ namespace IRaCIS.Core.API.Controllers /// [HttpPost, Route("Inspection/configTrialBasicInfo/ConfigTrialProcessInfoConfirm")] [UnitOfWork] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })] + //[TrialGlobalLimit( "BeforeOngoingCantOpt" )] public async Task ConfigTrialProcessInfoConfirm(DataInspectionDto opt) { opt.Data.IsTrialProcessConfirmed = true; @@ -344,7 +345,7 @@ namespace IRaCIS.Core.API.Controllers /// [HttpPost, Route("Inspection/configTrialBasicInfo/ConfigTrialUrgentInfoConfirm")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt" )] public async Task ConfigTrialUrgentInfoConfirm(DataInspectionDto opt) { opt.Data.IsTrialUrgentConfirmed = true; @@ -357,7 +358,7 @@ namespace IRaCIS.Core.API.Controllers [HttpPost, Route("Inspection/configTrialBasicInfo/ConfigTrialPACSInfoConfirm")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt" )] public async Task ConfigTrialPACSInfoConfirm(DataInspectionDto opt) { opt.Data.IsTrialPACSConfirmed = true; @@ -373,7 +374,7 @@ namespace IRaCIS.Core.API.Controllers /// [HttpPost, Route("Inspection/configTrialBasicInfo/TrialConfigSignatureConfirm")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task TrialConfigSignatureConfirm(DataInspectionDto opt) { @@ -390,7 +391,7 @@ namespace IRaCIS.Core.API.Controllers /// [HttpPost, Route("Inspection/ReadingCriterion/ResetAndAsyncCriterion")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ResetAndAsyncCriterion(DataInspectionDto opt) { @@ -408,7 +409,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/QCOperation/CRCRequestToQC")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task CRCRequestToQC(DataInspectionDto opt) { @@ -423,7 +424,7 @@ namespace IRaCIS.Core.API.Controllers /// 设置QC 通过或者不通过 7:QC failed 8:QC passed /// [HttpPost, Route("Inspection/QCOperation/QCPassedOrFailed")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task QCPassedOrFailed(DataInspectionDto opt) { @@ -437,7 +438,7 @@ namespace IRaCIS.Core.API.Controllers /// 一致性核查 回退 对话记录不清除 只允许PM回退 /// [HttpPost, Route("Inspection/QCOperation/CheckBack")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task CheckBack(DataInspectionDto opt) { @@ -454,7 +455,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/ReadClinicalData/ReadClinicalDataSign")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task ReadClinicalDataSign(DataInspectionDto opt) { @@ -469,7 +470,7 @@ namespace IRaCIS.Core.API.Controllers /// CRC 设置已经重传完成 /// [HttpPost, Route("Inspection/QCOperation/SetReuploadFinished")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SetReuploadFinished(DataInspectionDto opt) { @@ -485,8 +486,8 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/TrialConfig/updateTrialState")] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] + [TrialGlobalLimit( "BeforeOngoingCantOpt" )] [UnitOfWork] public async Task UpdateTrialState(DataInspectionDto opt) { @@ -502,7 +503,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/TrialDocument/userConfirm")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "SignSystemDocNoTrialId", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "SignSystemDocNoTrialId", "AfterStopCannNotOpt" )] [UnitOfWork] public async Task UserConfirm(DataInspectionDto opt) { @@ -519,7 +520,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Inspection/VisitTask/ConfirmReReading")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task ConfirmReReading(DataInspectionDto opt, [FromServices] IVisitTaskHelpeService _visitTaskCommonService, [FromServices] IVisitTaskService _visitTaskService) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index c011f1f40..11313c7be 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -1,6 +1,7 @@ using AutoMapper; using ExcelDataReader; using IRaCIS.Application.Interfaces; +using IRaCIS.Core.Application.BusinessFilter; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts.Dicom; using IRaCIS.Core.Application.Contracts.Dicom.DTO; @@ -296,7 +297,7 @@ namespace IRaCIS.Core.API.Controllers [HttpPost, Route("Study/ArchiveStudy")] [DisableFormValueModelBinding] [DisableRequestSizeLimit] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ArchiveStudyNew(Guid trialId, Guid subjectVisitId, string studyInstanceUid, Guid? abandonStudyId, Guid studyMonitorId, [FromServices] ILogger _logger, [FromServices] IStudyService _studyService, @@ -451,7 +452,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost, Route("Study/PreArchiveStudy")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task PreArchiveStudy(PreArchiveStudyCommand preArchiveStudyCommand, [FromServices] IStudyService _studyService, [FromServices] IRepository _studyMonitorRepository) @@ -487,7 +488,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost("NoneDicomStudy/UploadNoneDicomFile")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UploadNoneDicomFile(UploadNoneDicomFileCommand incommand, [FromServices] IRepository _noneDicomStudyRepository, [FromServices] IRepository _studyMonitorRepository, @@ -559,7 +560,7 @@ namespace IRaCIS.Core.API.Controllers /// /// [HttpPost("QCOperation/UploadVisitCheckExcel/{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UploadVisitCheckExcel(Guid trialId, [FromServices] IOSSService oSSService, [FromServices] IRepository _inspectionFileRepository) { diff --git a/IRaCIS.Core.API/Progranm.cs b/IRaCIS.Core.API/Progranm.cs index 6c0d56193..24df3381c 100644 --- a/IRaCIS.Core.API/Progranm.cs +++ b/IRaCIS.Core.API/Progranm.cs @@ -94,7 +94,7 @@ builder.Services.AddControllers(options => options.Filters.Add(); options.Filters.Add(); options.Filters.Add(); - + options.Filters.Add(); }) .AddNewtonsoftJsonSetup(builder.Services); // NewtonsoftJson 序列化 处理 diff --git a/IRaCIS.Core.Application/GlobalUsings.cs b/IRaCIS.Core.Application/GlobalUsings.cs index 2c2e01dfa..b1a5af97b 100644 --- a/IRaCIS.Core.Application/GlobalUsings.cs +++ b/IRaCIS.Core.Application/GlobalUsings.cs @@ -9,6 +9,6 @@ global using ZiggyCreatures.Caching.Fusion; global using Microsoft.Extensions.Localization; global using AutoMapper; global using IRaCIS.Core.Domain.Share; - +global using IRaCIS.Core.Application.BusinessFilter; diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs index aed26fe63..4bc3a1580 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs @@ -46,7 +46,7 @@ namespace IRaCIS.Core.Application.Service - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTaskAllocationRule(TaskAllocationRuleAddOrEdit addOrEditTaskAllocationRule) { @@ -77,7 +77,7 @@ namespace IRaCIS.Core.Application.Service } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{taskAllocationRuleId:guid}")] public async Task DeleteTaskAllocationRule(Guid taskAllocationRuleId) diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs index 03f6d4813..da865627e 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs @@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] [UnitOfWork] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfirmGenerateSelfConsistentTask(ConsistentConfirmGenerateCommand inCommand) { @@ -330,7 +330,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfirmGenerateGroupConsistentTask(GroupConsistentConfirmGenrateCommand inCommand) { @@ -860,7 +860,7 @@ namespace IRaCIS.Core.Application.Service [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateTrialVirtualSiteCode(UpdateTrialSiteCodeCommand inCommand) { @@ -896,7 +896,7 @@ namespace IRaCIS.Core.Application.Service } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTaskConsistentRule(TaskConsistentRuleAddOrEdit addOrEditTaskConsistentRule) { @@ -936,7 +936,7 @@ namespace IRaCIS.Core.Application.Service } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{taskConsistentRuleId:guid}")] public async Task DeleteTaskConsistentRule(Guid taskConsistentRuleId) diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs index 155a76816..8a16da499 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewRuleService.cs @@ -35,7 +35,7 @@ namespace IRaCIS.Core.Application.Service } [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTaskMedicalReviewRule(TaskMedicalReviewRuleAddOrEdit addOrEditTaskTaskMedicalReviewRule) { @@ -55,7 +55,7 @@ namespace IRaCIS.Core.Application.Service [HttpDelete("{taskMedicalReviewRuleId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteTaskMedicalReviewRule(Guid taskMedicalReviewRuleId) { diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs index 27594fbb3..52f75d25a 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs @@ -111,7 +111,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ManuallyGeneratedAndAssignedMedicalReview(ManuallyGeneratedAndAssignedMedicalReviewCommand command) { @@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Service /// [UnitOfWork] [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AssignMedicalReviewTask(AssignMedicalReviewTaskCommand command) { diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 375dc8d02..671775737 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -152,7 +152,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task BatchAssignDoctorToSubject(BatchAssignDoctorToSubjectCommand command) { //var inOrder = _trialRepository.Where(t => t.Id == command.TrialId).Select(t => t.IsReadingTaskViewInOrder).FirstOrDefault(); @@ -254,7 +254,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task CancelSubjectAssignedDoctor(CancelSubjectDoctorCommand cancelCommand) { foreach (var command in cancelCommand.CancelList.Where(t => t.IsCancelAssign)) @@ -295,7 +295,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AssignSubjectTaskToDoctor(AssignSubjectTaskToDoctorCommand assignSubjectTaskToDoctorCommand) { var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == assignSubjectTaskToDoctorCommand.Id); @@ -425,7 +425,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AssignSubjectDoctor(AssginSubjectDoctorCommand assginSubjectDoctorCommand) { var trialId = assginSubjectDoctorCommand.TrialId; @@ -504,7 +504,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// /// 数量 [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task CancelSubjectAssignDoctor(CancelSubjectAssignCommand cancelSubjectAssignCommand) { if (cancelSubjectAssignCommand.IsJudgeDoctor) @@ -547,7 +547,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ManualAssignDoctorApplyTask(AssignConfirmCommand assignConfirmCommand) { var trialId = assignConfirmCommand.TrialId; @@ -1309,7 +1309,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ApplyReReading(ApplyReReadingCommand applyReReadingCommand) { @@ -1579,7 +1579,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService) { @@ -2223,7 +2223,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, /// [HttpPut("{trialId:guid}/{taskId:guid}")] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task PMSetTaskBack(Guid trialId, Guid taskId) { diff --git a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs index edbbf0791..a95ee52e8 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs @@ -513,7 +513,7 @@ namespace IRaCIS.Core.Application.Services return ResponseOutput.Ok(result); } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM)] public async Task AddOrUpdateTrialDocument(AddOrEditTrialDocument addOrEditTrialDocument) { @@ -585,7 +585,7 @@ namespace IRaCIS.Core.Application.Services /// [HttpDelete("{trialId:guid}/{trialDocumentId:guid}")] //[Authorize(Policy = IRaCISPolicy.PM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task DeleteTrialDocument(Guid trialDocumentId, Guid trialId) { if (await _trialDocumentRepository.AsQueryable(true).Where(t => t.Id == trialDocumentId).AnyAsync(t => t.TrialDocConfirmedUserList.Any())) @@ -671,7 +671,7 @@ namespace IRaCIS.Core.Application.Services /// 用户 签名某个文档 可能是系统的,也可能是项目的 /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task UserConfirm(UserConfirmCommand userConfirmCommand) { @@ -738,7 +738,7 @@ namespace IRaCIS.Core.Application.Services /// /// [HttpPut("{documentId:guid}/{isSystemDoc:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt", "SignSystemDocNoTrialId" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt", "SignSystemDocNoTrialId" )] public async Task UserAbandonDoc(Guid documentId, bool isSystemDoc) { if (isSystemDoc) diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 4f79ad2f1..196abc9b0 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -1335,7 +1335,7 @@ namespace IRaCIS.Core.Application.Service } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTrialEmailNoticeConfig(TrialEmailNoticeConfigAddOrEdit addOrEditTrialEmailNoticeConfig) { await TestEmailConfigAsync(addOrEditTrialEmailNoticeConfig); @@ -1522,7 +1522,7 @@ namespace IRaCIS.Core.Application.Service } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{trialEmailNoticeConfigId:guid}")] public async Task DeleteTrialEmailNoticeConfig(Guid trialEmailNoticeConfigId) { diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 7b231a7d1..f3555d542 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -257,7 +257,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task PreArchiveDicomStudy(PriArchiveTaskStudyCommand preArchiveStudyCommand) { @@ -356,7 +356,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateArchiveTaskStudy(TaskArchiveStudyCommand incommand) { #region 获取该subject 已生成任务的访视的检查 diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index 416455e62..1776039eb 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -58,7 +58,7 @@ namespace IRaCIS.Core.Application.Contracts [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy) { @@ -105,7 +105,7 @@ namespace IRaCIS.Core.Application.Contracts } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}")] public async Task DeleteNoneDicomStudy(Guid noneDicomStudyId, Guid subjectVisitId) { @@ -128,7 +128,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyFileId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId) { //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 3fc485f84..48005b743 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -65,7 +65,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task PreArchiveDicomStudy(PreArchiveDicomStudyCommand preArchiveStudyCommand) { @@ -122,7 +122,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateArchiveStudy(NewArchiveStudyCommand incommand) { diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 2f8eb45a0..66a613276 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -43,7 +43,7 @@ namespace IRaCIS.Core.Application.Image.QA #region QC质疑 以及回复 关闭 [HttpGet("{trialId:guid}/{subjectVisitId:guid}/{currentQCType:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task VerifyQCCanAddChallenge(Guid subjectVisitId, [FromRoute] CurrentQC currentQCType) { @@ -67,7 +67,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost("{trialId:guid}/{trialQCProcess:int}/{currentQCType:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task AddOrUpdateQCChallenge(QCChallengeCommand qaQuestionCommand, Guid trialId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType) { @@ -126,7 +126,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task CloseQCChallenge(CloseQCChallengeInDto input) @@ -181,7 +181,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{qcChallengeId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task DeleteQCChallenge(Guid qcChallengeId) { @@ -209,7 +209,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] // [Authorize(Policy = IRaCISPolicy.CRC_IQC)] public async Task AddQCChallengeReply(QADialogCommand qaDialogCommand) { @@ -244,7 +244,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_CRC)] public async Task AddCheckChallengeReply(CheckChallengeDialogCommand checkDialogCommand) { @@ -284,7 +284,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] public async Task CloseCheckChallenge(CloseCheckChallengeDto input) { @@ -320,7 +320,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] [UnitOfWork] public async Task SetCheckPass(SetCheckPassDt data) @@ -367,7 +367,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task CRCRequstCheckBack(Guid subjectVisitId) { @@ -413,7 +413,7 @@ namespace IRaCIS.Core.Application.Image.QA [HttpPut("{trialId:guid}/{subjectVisitId:guid}")] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task RejectCheckBack(Guid subjectVisitId) { //if (_userInfo.UserTypeEnumInt != (int)UserTypeEnum.ProjectManager && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.APM) @@ -446,7 +446,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] [UnitOfWork] public async Task CheckBack(Guid subjectVisitId) @@ -525,7 +525,7 @@ namespace IRaCIS.Core.Application.Image.QA /// 添加或者更新 QC核对问题列表 两个人不能同时操作,就算意外进去了,提交数据,也不会覆盖前一个人数据, 后台已经做好判断 /// [HttpPost("{trialId:guid}/{subjectVisitId:guid}/{trialQCProcess:int}/{currentQCType:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task AddOrUpdateQCQuestionAnswerList(QCQuestionAnswerCommand[] qcQuestionAnswerCommands, Guid trialId, Guid subjectVisitId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType) { @@ -597,7 +597,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{studyId:guid}/{seriesId:guid}/{state:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state) { @@ -664,7 +664,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] // [Authorize(Policy = IRaCISPolicy.CRC_IQC)] public async Task UpdateModality(UpdateModalityCommand updateModalityCommand) { @@ -744,7 +744,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// SeriesCount [HttpPost, Route("{trialId:guid}/{subjectVisitId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] // [Authorize(Policy = IRaCISPolicy.CRC_IQC)] public async Task DeleteStudyList(Guid[] ids, Guid subjectVisitId, Guid trialId) @@ -848,7 +848,7 @@ namespace IRaCIS.Core.Application.Image.QA /// 替换当前领取人 [HttpPut("{trialId:guid}/{subjectVisitId:guid}")] //[Authorize(Policy = IRaCISPolicy.IQC)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ReplaceQCTaskActionUser(Guid trialId, Guid subjectVisitId) { var dbSubjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); @@ -994,7 +994,7 @@ namespace IRaCIS.Core.Application.Image.QA /// true 获取 false是取消领取 /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{obtaionOrCancel:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task ObtainOrCancelQCTask(Guid trialId, Guid subjectVisitId, bool obtaionOrCancel) { @@ -1219,7 +1219,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand) { @@ -1507,7 +1507,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost("{trialId:guid}/{subjectVisitId:guid}/{auditState:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] [UnitOfWork] public async Task QCPassedOrFailed(Guid trialId, Guid subjectVisitId, [FromRoute] AuditStateEnum auditState) @@ -1741,7 +1741,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{setOrCancel:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task SetVisitUrgent(Guid trialId, Guid subjectVisitId, bool setOrCancel) { @@ -1779,7 +1779,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{qcChallengeId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.IQC)] public async Task SetNeedReupload(Guid trialId, Guid qcChallengeId) { @@ -1880,7 +1880,7 @@ namespace IRaCIS.Core.Application.Image.QA /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task SetReuploadFinished(CRCReuploadFinishedCommand cRCReuploadFinishedCommand) { @@ -1993,7 +1993,7 @@ namespace IRaCIS.Core.Application.Image.QA [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{qcChallengeId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task CRCRequestReUpload(Guid qcChallengeId) { @@ -2040,7 +2040,7 @@ namespace IRaCIS.Core.Application.Image.QA /// [HttpPut("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateSubjectAndSVInfo(UploadSubjectAndVisitCommand command) { var dbSubjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == command.SubjectVisitId)).IfNullThrowException(); @@ -2080,7 +2080,7 @@ namespace IRaCIS.Core.Application.Image.QA #region 转发影像 暂时不用 废弃 //[HttpPost("{trialId:guid}")] ////[Authorize(Policy = IRaCISPolicy.PM_APM)] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] //public async Task ForwardSVDicomImage(Guid[] subjectVisitIdList) //{ diff --git a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs index 39182efc9..702516fb6 100644 --- a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs @@ -173,7 +173,7 @@ namespace IRaCIS.Core.Application.Contracts /// [HttpPost("{trialId:guid}")] //[Authorize(Policy = IRaCISPolicy.IQC)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task BatchAddTrialQCQuestionConfigure(List batchList, Guid trialId) { @@ -280,7 +280,7 @@ namespace IRaCIS.Core.Application.Contracts } //[Authorize(Policy = IRaCISPolicy.IQC)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTrialQCQuestionConfigure(TrialQCQuestionAddOrEdit addOrEditTrialQCQuestionConfigure) { @@ -323,7 +323,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpDelete("{trialId:guid}/{trialQCQuestionConfigureId:guid}")] //[Authorize(Policy = IRaCISPolicy.IQC)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteTrialQCQuestionConfigure(Guid trialQCQuestionConfigureId, Guid trialId) { await VerifyIsQCConfirmedAsync(trialId); diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index 22e686841..b57a309bb 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -367,7 +367,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveMedicineQuestion(SaveMedicineQuestionInDto inDto) { var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); @@ -411,7 +411,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveMedicalReviewInfo(SaveMedicalReviewInfoInDto inDto) { var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); @@ -466,7 +466,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ClosedMedicalReviewDialog(ClosedMedicalReviewDialogInDto inDto) { await _taskMedicalReviewRepository.UpdatePartialFromQueryAsync(inDto.TaskMedicalReviewId, x => new TaskMedicalReview() @@ -499,7 +499,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SendMedicalReviewDialog(SendMedicalReviewDialogInDto inDto) { var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); @@ -539,7 +539,7 @@ namespace IRaCIS.Core.Application.Service /// /// [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task IRSendMedicalReviewDialog(IRSendMedicalReviewDialogInDto inDto) { var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); @@ -699,7 +699,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task IRConfirmMedicalReview(IRConfirmMedicalReviewInDto inDto) { var medicalReviewInfo = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).FirstNotNullAsync(); diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 27b42af64..05a21b55a 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -269,7 +269,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteReadingMedicineTrialQuestion(DeleteReadingMedicineTrialQuestion inDto) { if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.ParentId == inDto.Id)) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index 2082c60a0..0c126a36a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -54,7 +54,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task BatchSubmitGlobalReadingInfo(BatchSubmitGlobalReadingInfo inDto) { await VerifyTaskIsSign(inDto.GlobalTaskId); @@ -107,7 +107,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveGlobalReadingInfo(SaveGlobalReadingInfoInDto inDto) { await VerifyTaskIsSign(inDto.GlobalTaskId); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 06ca1da57..f706209d8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -329,7 +329,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ChangeCalculationAnswer(ChangeCalculationAnswerInDto inDto) { var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); @@ -405,7 +405,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ReadClinicalData(ReadClinicalDataInDto inDto) { await _visitTaskRepository.UpdatePartialFromQueryAsync(inDto.VisitTaskId, x => new VisitTask @@ -1493,7 +1493,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SplitLesion(SplitLesionInDto inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); @@ -1731,7 +1731,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveImageQuality(ChangeDicomReadingQuestionAnswerInDto inDto) { inDto.UpdateMark = true; @@ -1790,7 +1790,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ChangeDicomReadingQuestionAnswer(ChangeDicomReadingQuestionAnswerInDto inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); @@ -1907,7 +1907,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteReadingRowAnswer(DeleteReadingRowAnswerInDto inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); @@ -2094,7 +2094,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SubmitTableQuestion(SubmitTableQuestionInDto inDto) { SubmitTableQuestionOutDto result = new SubmitTableQuestionOutDto(); @@ -2493,7 +2493,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SubmitDicomVisitTask(SubmitDicomVisitTaskInDto inDto) { @@ -3394,7 +3394,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddReadingTask(Guid visitTaskId, Guid? trialId = null) { // ****** 先生成阅片期 阅片期任务阅片完成之后生成肿瘤学的 如果没有阅片期 直接生成肿瘤学 *********//// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index 9301b7953..6a5a598f3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -63,7 +63,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetTrialCriterionJudgeQuestionAnswerGroup(SetTrialCriterionJudgeQuestionAnswerGroupInDto inDto) { await _readingQuestionTrialRepository.UpdatePartialFromQueryAsync(inDto.ReadingQuestionTrialId, x => new ReadingQuestionTrial() @@ -424,7 +424,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveJudgeVisitTaskResult(SaveJudgeVisitTaskResult inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); @@ -447,7 +447,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SubmitJudgeVisitTaskResult(SaveJudgeVisitTaskResult inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs index fbe86c065..fce2b2294 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingNoDicomTaskService.cs @@ -37,7 +37,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SaveVisitTaskQuestions(SubmitVisitTaskQuestionsInDto inDto) { await VerifyTaskIsSign(inDto.VisitTaskId); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index cb84c01a6..e5c1844e0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -319,7 +319,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetOncologyReadingInfo(SetOncologyReadingInfoInDto inDto) { await VerifyTaskIsSign(inDto.OncologyTaskId); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index 77c9ddd3c..fe550505c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -896,7 +896,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddReadModule(ReadModuleAddDto dto) { @@ -1053,7 +1053,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpDelete("{readModuleId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteReadModule(Guid readModuleId) { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs index 460d25aa6..9a1c1b007 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs @@ -37,7 +37,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateReadingPeriodSet(ReadingPeriodSetAddOrEdit addOrEditReadingPeriodSet) { if (await _readingPeriodSetRepository.AnyAsync(x => x.Id != addOrEditReadingPeriodSet.Id && x.IsTakeEffect != ReadingPeriodStatus.Revocation @@ -101,7 +101,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpDelete("{readingPeriodSetId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task DeleteReadingPeriodSet(Guid readingPeriodSetId) { await _readingPeriodSetRepository.UpdatePartialFromQueryAsync(t => t.Id == readingPeriodSetId, x => new ReadingPeriodSet() @@ -125,7 +125,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPut] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetReadingPeriodSetEffect(SetReadingPeriodSetEffect indto) { var readingPeriodSet = await _readingPeriodSetRepository.Where(x => x.Id == indto.Id).FirstNotNullAsync(); @@ -350,7 +350,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task GenerateReadingTask(ReadingToGenerateInDto inDto) { List plans = new List(); diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteEquipmentSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteEquipmentSurveyService.cs index 4335838ad..5d6a965bf 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteEquipmentSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteEquipmentSurveyService.cs @@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Contracts return await trialSiteEquipmentSurveyQueryable.ToListAsync(); } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpPost("{trialId:guid}")] public async Task AddOrUpdateTrialSiteEquipmentSurvey(TrialSiteEquipmentSurveyAddOrEdit addOrEditTrialSiteEquipmentSurvey) { @@ -46,7 +46,7 @@ namespace IRaCIS.Core.Application.Contracts } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{trialSiteEquipmentSurveyId:guid}/{trialId:guid}")] public async Task DeleteTrialSiteEquipmentSurvey(Guid trialSiteEquipmentSurveyId) { diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index 37fc2923e..343715d62 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -213,7 +213,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpPost] [UnitOfWork] [AllowAnonymous] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task VerifySendCode(LoginDto userInfo, [FromServices] ITokenService _tokenService) { @@ -447,7 +447,7 @@ namespace IRaCIS.Core.Application.Contracts /// /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTrialSiteSurvey(TrialSiteSurveyAddOrEdit addOrEditTrialSiteSurvey) { @@ -592,7 +592,7 @@ namespace IRaCIS.Core.Application.Contracts /// 驳回 New /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SubmissionRejection(TrialSiteSubmitBackCommand trialSiteSubmitBackCommand, [FromServices] IMailVerificationService _IMailVerificationService) { @@ -666,7 +666,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpPut("{trialId:guid}/{trialSiteSurveyId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AbandonSiteSurvey(Guid trialSiteSurveyId) { @@ -694,7 +694,7 @@ namespace IRaCIS.Core.Application.Contracts /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task TrialSurveySubmit(TrialSiteSurvyeSubmitDTO siteSurvyeSubmit) { diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs index 26c9bbf2d..8b1e2f849 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs @@ -33,7 +33,7 @@ namespace IRaCIS.Core.Application.Contracts } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpPost("{trialId:guid}")] public async Task AddOrUpdateTrialSiteUserSurvey(TrialSiteUserSurveyAddOrEdit addOrEditTrialSiteUserSurvey) { @@ -126,7 +126,7 @@ namespace IRaCIS.Core.Application.Contracts } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [HttpDelete("{trialSiteUserSurveyId:guid}/{trialId:guid}")] public async Task DeleteTrialSiteUserSurvey(Guid trialSiteUserSurveyId) { diff --git a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs index c260c33d2..7e6c03113 100644 --- a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs +++ b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs @@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Service.Third_partyProject /// /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateArchiveStudy(NewArchiveStudyCommand incommand, [FromServices] IRepository _studyMonitorRepository, [FromServices] IDistributedLockProvider _distributedLockProvider, diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 2774ef0b3..3b2bf30e1 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -319,7 +319,7 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetGlobalReadingInfo(SetGlobalReadingInfoInDto inDto) { @@ -404,7 +404,7 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetOncologySet(SetOncologySetInDto inDto) { @@ -511,7 +511,7 @@ namespace IRaCIS.Core.Application ///// 设置项目阅片标准 ///// ///// - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] //public async Task SetTrialReadingCriterion(SetTrialReadingCriterionInDto inDto) //{ // if (inDto.IsSignSave) @@ -548,7 +548,7 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetCriterionReadingInfo(SetCriterionReadingInfoInDto inDto) { ArbitrationRule arbitration = ArbitrationRule.NA; @@ -898,7 +898,7 @@ namespace IRaCIS.Core.Application /// [HttpPut] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task ConfigTrialBasicInfo(BasicTrialConfig trialConfig) { await VerifyOnlyInOngoingOrInitialIzingOptAsync(trialConfig.TrialId); @@ -923,7 +923,7 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task ConfigTrialProcessInfoVerification(ConfigTrialProcessInfoVerificationInDto trialConfig) { if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialState.TrialInitializing)) @@ -950,7 +950,7 @@ namespace IRaCIS.Core.Application /// [HttpPut] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task ConfigTrialProcessInfo(TrialProcessConfig trialConfig) { if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialState.TrialInitializing)) @@ -1078,7 +1078,7 @@ namespace IRaCIS.Core.Application /// [HttpPut] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task ConfigTrialUrgentInfo(TrialUrgentConfig trialConfig) { @@ -1113,7 +1113,7 @@ namespace IRaCIS.Core.Application /// /// [HttpPut] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task ConfigTrialPACSInfo(TrialPACSConfig trialConfig) { var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException(); @@ -1146,7 +1146,7 @@ namespace IRaCIS.Core.Application [HttpPut("{trialId:guid}/{trialStatusStr}/{reason?}")] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.PM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateTrialState(Guid trialId, string trialStatusStr, string? reason) { @@ -1221,7 +1221,7 @@ namespace IRaCIS.Core.Application /// [HttpPut("{trialId:guid}/{isAbandon:bool}")] //[Authorize(Policy = IRaCISPolicy.PM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task AbandonTrial(Guid trialId, /*Guid? signId,*/ bool isAbandon) { @@ -1260,8 +1260,8 @@ namespace IRaCIS.Core.Application /// /// [HttpPut] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfigTrialTaskInfo(TrialTaskConfig trialConfig) { var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException(); @@ -1278,8 +1278,8 @@ namespace IRaCIS.Core.Application /// /// [HttpPut] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfigTrialReadingTaskViewRule(TrialReadingTaskViewConfig trialConfig) { var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException(); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs index 8035fe6ac..d1e8305e6 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs @@ -54,7 +54,7 @@ namespace IRaCIS.Core.Application.Service /// //[Authorize(Policy = IRaCISPolicy.PM_APM)] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateTrialExternalUser(TrialExternalUserAddAndSendEmail addOrEditTrialExternalUser) { @@ -234,7 +234,7 @@ namespace IRaCIS.Core.Application.Service //New 省掉邀请流程 [HttpPost] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] public async Task SendExternalUserJoinEmail(TrialExternalUserSendEmail sendEmail) { diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index d33b9abf7..4d75837ad 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -114,7 +114,7 @@ namespace IRaCIS.Core.Application.Service /// //[TrialAudit(AuditType.TrialAudit, AuditOptType.AddTrialStaff)] [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] public async Task AddTrialUsers(TrialUserAddCommand[] userTrialCommands) { @@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Service - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] [HttpPut] public async Task UpdateTrialUser(UpdateTrialUserCommand updateTrialUserCommand) @@ -174,7 +174,7 @@ namespace IRaCIS.Core.Application.Service /// 项目参与人员退出 其中IQC退出 回去释放工作量 //[TrialAudit(AuditType.TrialAudit, AuditOptType.DeleteTrailStaff)] [HttpDelete, Route("{id:guid}/{trialId:guid}/{isDelete:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] [Obsolete] public async Task DeleteMaintenanceUser(Guid id, bool isDelete) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 5850e26bb..6167dc699 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -630,7 +630,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost("{trialId:guid}/{status:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateEnrollStatus(Guid trialId, EnrollStatus status) { await _enrollDetailRepository.AddAsync(new EnrollDetail() diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs index 3bb754265..e3feb10d1 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs @@ -111,7 +111,7 @@ namespace IRaCIS.Core.Application.Services [HttpPost] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddTrialSites(List trialSites) { var addArray = _mapper.Map>(trialSites); @@ -205,7 +205,7 @@ namespace IRaCIS.Core.Application.Services /// 批量添加Site下 CRC的负责人 [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] public async Task AssignSiteCRC(List trialSiteCRCList) { @@ -219,7 +219,7 @@ namespace IRaCIS.Core.Application.Services /// 删除CRC人员 [HttpDelete, Route("{id:guid}/{trialId:guid}/{isDelete:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] public async Task DeleteSiteCRC(Guid id, bool isDelete) { @@ -280,7 +280,7 @@ namespace IRaCIS.Core.Application.Services /// 删除 项目 下某一site [HttpDelete("{id:guid}/{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [Obsolete] public async Task DeleteTrialSite(Guid id) { diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 6de44273c..c8397ba82 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -377,7 +377,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] [UnitOfWork] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SubmitVisitStudyBinding(SubmitVisitStudyBindingCommand inCommand, [FromServices] IRepository _dicomstudyRepository, [FromServices] IRepository _dicomSeriesRepository, diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs index ded5906bd..fd775a7a9 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs @@ -19,7 +19,7 @@ namespace IRaCIS.Core.Application.Service /// state:1-访视中,2-出组。0-全部 /// - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_CRC_QC)] public async Task> AddOrUpdateSubject([FromBody] SubjectCommand subjectCommand) { @@ -64,7 +64,7 @@ namespace IRaCIS.Core.Application.Service [HttpPut] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.PM_APM_CRC_QC)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateSubjectStatus(SubjectStatusChangeCommand subjectStatusChangeCommand) { await _subjectRepository.UpdateFromDTOAsync(subjectStatusChangeCommand, true); @@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Service [HttpDelete("{trialId:guid}/{id:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.PM_APM_CRC)] public async Task DeleteSubject(Guid id) diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index ee715ee3b..5bdac402f 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -31,7 +31,7 @@ namespace IRaCIS.Core.Application.Services [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [UnitOfWork] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task> AddOrUpdateSV(SubjectVisitCommand svCommand) @@ -161,7 +161,7 @@ namespace IRaCIS.Core.Application.Services [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{isUrgent:bool}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_IQC)] public async Task SetSubjectVisitUrgent(Guid subjectVisitId, bool isUrgent) { @@ -173,7 +173,7 @@ namespace IRaCIS.Core.Application.Services [HttpDelete, Route("{trialId:guid}/{id:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.CRC)] public async Task DeleteSV(Guid id) { @@ -738,7 +738,7 @@ namespace IRaCIS.Core.Application.Services /// /// [HttpPut("{trialId:guid}/{subjectVisitId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] [Obsolete] public async Task SetSVExecuted(Guid subjectVisitId) { diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index 02798c988..c7afc5d1f 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -57,7 +57,7 @@ namespace IRaCIS.Core.Application.Service }; } - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] public async Task UpdateVisitBlindName(VisitBlindNameCommand command) { @@ -87,8 +87,8 @@ namespace IRaCIS.Core.Application.Service [UnitOfWork] [HttpPost] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task AddOrUpdateVisitStage(VisitPlanCommand visitPlan) { @@ -198,8 +198,8 @@ namespace IRaCIS.Core.Application.Service [UnitOfWork] [HttpPost("{trialId:guid}")] //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "BeforeOngoingCantOpt", "AfterStopCannNotOpt" )] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task ConfirmTrialVisitPlan(Guid trialId) { if (!await _trialRepository.AnyAsync(t => t.Id == trialId && (t.TrialStatusStr == StaticData.TrialState.TrialInitializing || t.TrialStatusStr == StaticData.TrialState.TrialOngoing))) diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs index 69d8b3596..0c5117cec 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs @@ -31,7 +31,7 @@ namespace IRaCIS.Core.Application.Service ///// //[HttpPost("{trialId}")] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] ////[Authorize(Policy = IRaCISPolicy.PM_APM)] //public async Task UploadReviewerAckSOW(Guid trialId, // ReviewerAckDTO attachmentViewModel) @@ -61,7 +61,7 @@ namespace IRaCIS.Core.Application.Service ///// //[HttpDelete, Route("{trialId}/{doctorId}/{attachmentId}")] - //[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + //[TrialGlobalLimit( "AfterStopCannNotOpt" )] ////[Authorize(Policy = IRaCISPolicy.PM_APM)] //public async Task DeleteReviewerAckSOW(Guid trialId, Guid doctorId, Guid attachmentId) //{ @@ -118,7 +118,7 @@ namespace IRaCIS.Core.Application.Service /// /// //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task SetEnrollReadingCategory(SetEnrollReadingCategoryInDto inDto) { @@ -167,7 +167,7 @@ namespace IRaCIS.Core.Application.Service /// /// //[Authorize(Policy = IRaCISPolicy.PM_APM)] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] public async Task UpdateTrialReviewerState(SetEnrollEnableCommand inCommand) { await _taskAllocationRuleRepository.UpdatePartialFromQueryAsync(t => t.TrialId == inCommand.TrialId && t.EnrollId == inCommand.EnrollId, u => new TaskAllocationRule() { IsEnable = inCommand.IsEnable }, true); @@ -181,7 +181,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost("{trialId}/{doctorId}/{type}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM)] public async Task UpdateReviewerReadingType(Guid trialId, Guid doctorId, int type) { diff --git a/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs b/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs index 392d3bf3d..3d52be552 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/EnrollService.cs @@ -105,7 +105,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost("{trialId:guid}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM)] public async Task SelectReviewers(Guid trialId, Guid[] doctorIdArray) { @@ -158,7 +158,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost("{trialId:guid}/{commitState:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM)] public async Task SubmitReviewer(Guid trialId, Guid[] doctorIdArray, int commitState) { @@ -253,7 +253,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost("{trialId:guid}/{auditState:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM)] public async Task ApproveReviewer(Guid trialId, Guid[] doctorIdArray, int auditState) { @@ -339,7 +339,7 @@ namespace IRaCIS.Core.Application.Service /// [HttpPost] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM)] [UnitOfWork] public async Task ConfirmReviewer(ConfirmReviewerCommand confirmReviewerCommand, @@ -460,7 +460,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost("{trialId:guid}/{doctorId:guid}/{optType:int}")] - [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + [TrialGlobalLimit( "AfterStopCannNotOpt" )] //[Authorize(Policy = IRaCISPolicy.PM_APM_SPM_CPM)] [Obsolete] public async Task EnrollBackOrOut(Guid trialId, Guid doctorId, int optType, DateTime? outEnrollTime)