using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IRaCIS.Core.Application.Contracts { public class UnionStudyBaseModel { public Guid TrialId { get; set; } public Guid SiteId { get; set; } public Guid SubjectId { get; set; } public Guid SubjectVisitId { get; set; } public string SubjectCode { get; set; } = String.Empty; public string VisitName { get; set; } = string.Empty; public decimal VisitNum { get; set; } public string TrialSiteCode { get; set; } = string.Empty; public string TrialSiteAliasName { get; set; } = string.Empty; public string Uploader { get; set; } = string.Empty; public DateTime UploadTime { get; set; } public string StudyCode { get; set; } //[JsonIgnore] //public string DicomStudyCode { get; set; } = string.Empty; //[JsonIgnore] //public int NoneDicomCode { get; set; } public bool IsDicom { get; set; } } public class UnionStudyMonitorModel : UnionStudyBaseModel { public Guid StudyId { get; set; } public string UploadStartTimeStr => UploadStartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); public string UploadFinishedTimeStr => UploadFinishedTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); public string TimeInterval { get { var tSpan = UploadFinishedTime - UploadStartTime; if (tSpan.Seconds == 0 && tSpan.Minutes==0 && tSpan.Hours == 0) { return $"{tSpan.Milliseconds}毫秒"; } else if ( tSpan.Minutes == 0 && tSpan.Hours == 0) { return $"{tSpan.Seconds}秒"; } else if ( tSpan.Hours == 0) { return $"{tSpan.Minutes} 分钟 {tSpan.Seconds} 秒"; } else { return $" {tSpan.Hours} 小时 {tSpan.Minutes} 分钟 {tSpan.Seconds} 秒"; } } } public DateTime UploadStartTime { get; set; } public DateTime UploadFinishedTime { get; set; } public decimal FileSize { get; set; } public string IP { get; set; } = String.Empty; public bool IsDicomReUpload { get; set; } public int FileCount { get; set; } } public class UnionStudyViewModel:UnionStudyBaseModel { public Guid Id { get; set; } public int? Count { get; set; } public string Modalities { get; set; } = string.Empty; public string Bodypart { get; set; } = string.Empty; public DateTime? StudyTime { get; set; } } public class StudyQuery:PageInput { [NotDefault] public Guid TrialId { get; set; } public Guid? SubjectId { get; set; } public Guid? SiteId { get; set; } public Guid? SubjectVisitId { get; set; } public string SubjectInfo { get; set; } = String.Empty; public string VisitPlanInfo { get; set; } = String.Empty; } }