using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts.DTO; using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Domain.Share; using MediatR; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace IRaCIS.Core.Application.Image.QA { public interface IQCOperationService { Task CheckBack(Guid subjectVisitId); Task SetNeedReupload(Guid trialId, Guid qcChallengeId); Task QCPassedOrFailed(Guid trialId, Guid subjectVisitId, [FromRoute] AuditStateEnum auditState); Task SetCheckPass(SetCheckPassDt data); Task AddCheckChallengeReply(CheckChallengeDialogCommand checkDialogCommand); Task AddOrUpdateQCChallenge(QCChallengeCommand qaQuestionCommand, Guid trialId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType); Task AddOrUpdateQCQuestionAnswerList(QCQuestionAnswerCommand[] qcQuestionAnswerCommands, Guid trialId, Guid subjectVisitId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType); Task AddQCChallengeReply(QADialogCommand qaDialogCommand); Task CloseCheckChallenge(CloseCheckChallengeDto input); Task CloseQCChallenge(CloseQCChallengeInDto input); Task CRCRequestReUpload(Guid qcChallengeId); Task CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand); Task CRCRequstCheckBack(Guid subjectVisitId); Task DeleteQCChallenge(Guid qcChallengeId); Task DeleteStudyList(Guid[] ids, Guid subjectVisitId, Guid trialId); Task ObtainOrCancelQCTask(Guid trialId, Guid subjectVisitId, bool obtaionOrCancel); Task SetReuploadFinished(CRCReuploadFinishedCommand cRCReuploadFinishedCommand); Task SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state); Task SetVisitUrgent(Guid trialId, Guid subjectVisitId, bool setOrCancel); Task UpdateModality(UpdateModalityCommand updateModalityCommand); Task UpdateSubjectAndSVInfo(UploadSubjectAndVisitCommand command); //Task UploadVisitCheckExcel(IFormFile file, Guid trialId); Task VerifyCanQCPassedOrFailed(Guid subjectVisitId); } }