//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2022-06-29 10:59:50 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;

namespace IRaCIS.Core.Application.ViewModel
{
    /// <summary> TaskMedicalReviewView  列表视图模型 </summary>
    public class TaskMedicalReviewView: VisitTaskViewBasic
    {
        public Guid Id { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid UpdateUserId { get; set; }
        public DateTime? AllocateTime { get; set; }
        public int AuditState { get; set; }
        public DateTime? AuditSignTime { get; set; }
        public int DoctorUserIdeaEnum { get; set; }
        public Guid? MedicalManagerUserId { get; set; }
        public string AuditSuggestion { get; set; }


    

        public UserSimpleInfo DoctorUser { get; set; }

        public UserSimpleInfo MedicalManagerUser { get; set; }
    }

    ///<summary>TaskMedicalReviewQuery  列表查询参数模型</summary>
    public class TaskMedicalReviewQuery : PageInput
    {
        public Guid TrialId { get; set; }
        public Guid? SiteId { get; set; }

        public Guid? SubjectId { get; set; }

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


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

        public bool? IsUrgent { get; set; }
        public Guid? DoctorUserId { get; set; }

        public ReadingCategory? ReadingCategory { get; set; }

        public ReadingTaskState? ReadingTaskState { get; set; }


    }

    public class GenerateMedicalReviewTaskCommand
    {
        public Guid TrialId { get; set; }


    }



    public class AssignMedicalReviewTaskCommand
    {
        public Guid Id { get; set; }

    
        public Guid? MedicalManagerUserId { get; set; }

        public MedicalReviewTaskOptType TaskOptType { get; set; }
    }

    public enum MedicalReviewTaskOptType
    {
        Assign = 1,

        ReAssign = 2,


        CancelAssign = 3,
    }

}