using IRaCIS.Application.Contracts; using IRaCIS.Core.Domain.Share; namespace IRaCIS.Application.Interfaces { public interface ITrialService { bool TrialExpeditedChange { get; set; } Task<IResponseOutput<Trial>> AddOrUpdateTrial(TrialCommand trialAddModel); Task<PageOutput<TrialDetailDTO>> GetReviewerTrialListByEnrollmentStatus(TrialByStatusQueryDTO param); Task<List<Guid>> GetTrialEnrollmentReviewerIds(Guid trialId); Task<int> GetTrialExpeditedState(Guid trialId); Task<TrialDetailDTO> GetTrialInfoAndLockState(Guid projectId); Task<TrialAndTrialStateVieModel> GetTrialInfoAndMaxTrialState(Guid trialId); Task<PageOutput<TrialDetailDTO>> GetTrialList(TrialQueryDTO searchParam); Task<PageOutput<TrialDetailDTO>> GetTrialListByReviewer(ReviewerTrialQueryDTO searchModel); Task<int> GetTrialMaxState(Guid trialId); Task<IResponseOutput> UpdateEnrollStatus(Guid trialId, EnrollStatus status); } }