using FellowOakDicom;

namespace IRaCIS.Core.Application.Contracts.Dicom
{
    public interface IDicomArchiveService
    {
        Task<(Guid StudyId, string StudyCode)> ArchiveDicomStreamAsync(Stream dicomStream, DicomTrialSiteSubjectInfo addtionalInfo, List<string> seriesInstanceUidList,  List<string> instanceUidList);
        //ICollection<DicomStudyDTO> GetArchivedStudyList(List<Guid> archivedStudyIds);

        Task<bool> DicomDBDataSaveChange();


        //[EasyCachingAble(Expiration = 6000)]



        //IEnumerable<DicomSeriesDTO> GetSeriesList(Guid studyId);
        //IEnumerable<DicomSeriesWithLabelDTO> GetSeriesWithLabelList(Guid studyId,string tpCode);

        ////[EasyCachingAble(Expiration = 6000)]
        //string GetSeriesPreview(Guid seriesId);

        Task ArchiveDicomFileAsync(DicomDataset dicomDataset);

    }
}