namespace IRaCIS.Core.Application.Contracts
{
    public class DicomStudyBasicDTO
    {
        public Guid Id { get; set; }
        public Guid TrialId { get; set; }
        public Guid SiteId { get; set; }

        public Guid SubjectId { get; set; }
        public Guid SubjectVisitId { get; set; }

        public string StudyCode { get; set; } = string.Empty;

        public DateTime? StudyTime { get; set; }
    }

    public class DicomStudyDTO
    {
        public Guid Id { get; set; }
        public Guid TrialId { get; set; }
        public Guid SiteId { get; set; }

        public Guid SubjectId { get; set; }
        public Guid SubjectVisitId { get; set; }

        public string StudyCode { get; set; } = string.Empty;

        public int Status { get; set; } = 1;

        public string StudyInstanceUid { get; set; } = string.Empty;
        public DateTime? StudyTime { get; set; }
        public string Modalities { get; set; } = string.Empty;

        public string Description { get; set; } = string.Empty;
        public int SeriesCount { get; set; } = 0;
        public int InstanceCount { get; set; } = 0;

        public bool SoftDelete { get; set; } = false;

        public string InstitutionName { get; set; } = string.Empty;
        public string PatientId { get; set; } = string.Empty;
        public string PatientName { get; set; } = string.Empty;
        public string PatientAge { get; set; } = string.Empty;
        public string PatientSex { get; set; } = string.Empty;

        public Guid UpdateUserId { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }
    }

    public class RelationVisitDTO
    {
        public string VisitName { get; set; } = string.Empty;
        public string TpCode { get; set; } = string.Empty;
        public Guid StudyId { get; set; }
    }

    public class RelationStudyDTO
    {
        public string VisitName { get; set; } = string.Empty;
        public string StudyCode { get; set; } = string.Empty;
        public Guid StudyId { get; set; }
        public int SeriesCount { get; set; }
        public string Modalities { get; set; } = string.Empty;
        public string Description { get; set; } = string.Empty;
    }


    public class UploadViewInitDto
    {
        public Guid SubjectVisitId { get; set; }

        public Guid SubjectId { get; set; }

        public Guid TrialId { get; set; }
        public Guid SiteId { get; set; }
        //public string SubjectName { get; set; }

        public string SubjectCode { get; set; } = string.Empty;

        public string TrialSiteCode { get; set; } = string.Empty;

        public decimal VisitNum { get; set; }

        public string VisitName { get; set; } = string.Empty;



    }
}
