using IRaCIS.Application.Contracts;

namespace IRaCIS.Application.Services
{
    public interface IDoctorWorkloadService
    {
        Task<IResponseOutput> AddOrUpdateWorkload(WorkloadCommand workLoadAddOrUpdateModel, Guid userId);
        //Task<IResponseOutput> DeleteReviewerAckSOW(Guid trialId, Guid doctorId, Guid attachmentId);
        Task<IResponseOutput> DeleteWorkload(Guid workloadId);
        PageOutput<WorkLoadDetailDTO> GetEnrollmentWorkloadStatsDetail(WorkLoadStatsQueryDTO workLoadSearch);
        Task<List<WorkLoadDetailViewModel>> GetReviewerWorkLoadListDetail(WorkLoadDetailQueryDTO workLoadSearch);
        Task<PageOutput<WorkLoadAndAgreementDTO>> GetTrialEnrollmentWorkloadStats(WorkLoadDoctorQueryDTO doctorSearchModel);
        Task<WorkloadDTO> GetWorkloadDetailById(Guid id);
        Task<IResponseOutput> UpdateReviewerReadingType(Guid trialId, Guid doctorId, int type);
        //Task<IResponseOutput> UploadReviewerAckSOW(Guid trialId, ReviewerAckDTO attachmentViewModel);
        Task<IResponseOutput<ExistWorkloadViewModel>> WorkloadExist(WorkloadExistQueryDTO param);
    }
}