using Newtonsoft.Json; namespace IRaCIS.Core.Application.Contracts.Dicom.DTO { public class DicomSeriesDTO { public bool IsDicom { get; set; } = true; public bool IsBeMark { get; set; } = false; public Guid Id { get; set; } public Guid StudyId { get; set; } public string StudyInstanceUid { get; set; } = String.Empty; public string SeriesInstanceUid { get; set; } = String.Empty; public int SeriesNumber { get; set; } public DateTime? SeriesTime { get; set; } public string Modality { get; set; } = String.Empty; public string Description { get; set; } = String.Empty; public int InstanceCount { get; set; } public string NoneDicomFileFirstFile { get; set; } = String.Empty; public string SliceThickness { get; set; } = String.Empty; public Guid TrialId { get; set; } public Guid SubjectId { get; set; } public Guid SubjectVisitId { get; set; } public Guid CreateUserId { get; set; } public DateTime CreateTime { get; set; } public Guid UpdateUserId { get; set; } public DateTime UpdateTime { get; set; } public bool IsDeleted { get; set; } public bool IsReading { get; set; } = true; public List InstanceInfoList { get; set; } = new List(); public bool IsExistMutiFrames => InstanceInfoList.Any(t => t.NumberOfFrames > 1); //存放在instance 上面 public string? WindowCenter => InstanceInfoList.FirstOrDefault()?.WindowCenter; public string? WindowWidth => InstanceInfoList.FirstOrDefault()?.WindowWidth; public string ImageResizePath { get; set; } } public class StudyInstanceInfo { public int ShowOrder { get; set; } public decimal RowIndex { get; set; } public Guid? SeriesId { get; set; } public Guid? StudyId { get; set; } public Guid? InstanceId { get; set; } public int? NumberOfFrames { get; set; } } public class InstanceBasicInfo { public Guid Id { get; set; } public string Path { get; set; } public string HtmlPath { get; set; } public int NumberOfFrames { get; set; } public int InstanceNumber { get; set; } public Guid? StudyId { get; set; } public List KeyFramesList { get; set; } = new List { }; public Guid? SeriesId { get; set; } [JsonIgnore] public int ShowOrder { get; set; } [JsonIgnore] public decimal RowIndex { get; set; } [JsonIgnore] public string WindowCenter { get; set; } [JsonIgnore] public string WindowWidth { get; set; } } public class DicomSeriesWithLabelDTO : DicomSeriesDTO { public bool HasLabel { get; set; } = false; public bool KeySeries { get; set; } = false; } }