//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2023-03-17 11:58:25 
//     对此文件的更改可能会导致不正确的行为，并且如果重新生成代码，这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace IRaCIS.Core.Application.ViewModel
{

  

    public class HaveGeneratedTaskQuery : PageInput
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }


        [NotDefault]
        public Guid SubjectId { get; set; }
    }

    public class BatchGenerateTaskCommand
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }

        [NotDefault]
        public Guid TrialId { get; set; }

        [NotDefault]
        public Guid SubjectId { get; set; }


        public List<Guid> SubjectVisitIdList { get; set; }=new List<Guid>();
    }


    public class CriteriaVisitBackCommand
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }

        [NotDefault]
        public Guid TrialId { get; set; }

        [NotDefault]
        public Guid SubjectId { get; set; }

        [NotDefault]
        public Guid SubjectVisitId { get; set; }
    }

    public class VisitStudyAndSeriesQuery
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }


        [NotDefault]
        public Guid SubjectId { get; set; }


        [NotDefault]
        public Guid SubjectVisitId { get; set; }
    }

    ///<summary> SubjectCriteriaEvaluationVisitFilterAddOrEdit  列表查询参数模型</summary>
    public class SubjectCriteriaEvaluationVisitFilterAddOrEdit
    {
        public Guid? Id { get; set; }
        public Guid SubjectId { get; set; }
        public Guid TrialReadingCriterionId { get; set; }
        public Guid SubjectVisitId { get; set; }
        public int ImageFilterState { get; set; }
        public int ImageDeterminationResultState { get; set; }
        //public bool IsGeneratedTask { get; set; }
    }


    public class HaveGeneratedTaskDto
    {
        public string VisitName { get; set; }

        public string TaskCode { get; set; }

        public decimal VisitTaskNum { get; set; }

        public string TaskName { get; set; }

        public string TaskBlindName { get; set; }

        public DateTime CreateTime { get; set; }
    }


    public class SelctStudySeriesView
    {
       public List<SelectStudyView> StudyList { get; set; }=new List<SelectStudyView>();

        public List<SelectSeriesView> SeriesList { get; set; }=new List<SelectSeriesView>();
    }

    public class SelectStudyView
    {
        public string StudyInstanceUid { get; set; } = string.Empty;

        public Guid TrialId { get; set; }

        public Guid StudyId { get; set; }

        public int StudyStatus { get; set; }

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

        public string Modalities { get; set; } = String.Empty;

        public int SeriesCount { get; set; }

        public int InstanceCount { get; set; }

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

        public DateTime? UploadedTime { get; set; }
        public string BodyPartExamined { get; set; } = String.Empty;

        public string BodyPartForEdit { get; set; } = String.Empty;

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


    }

    public class SelectSeriesView
    {
        public DateTime? StudyTime { get; set; }

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


        public Guid SeriesId { get; set; }

        public Guid StudyId { get; set; }

        public string BodyPartForEdit { 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 BodyPartExamined { get; set; } = String.Empty;


        //public Guid[] InstanceList = new Guid[0];

        //public List<string> InstancePathList = new List<string>();




        public Guid? Id { get; set; }
        public DateTime? CreateTime { get; set; }

        public Guid? TrialReadingCriterionId { get; set; }

        public Guid? SubjectVisitId { get; set; }

        public bool? IsConfirmed { get; set; }

        public bool? IsReading { get; set; }
    }

}


