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

namespace IRaCIS.Core.Application.ViewModel
{
    /// <summary> TaskTaskMedicalReviewRuleView  列表视图模型 </summary>
    public class TaskMedicalReviewRuleView : TaskMedicalReviewRuleAddOrEdit
    {
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid UpdateUserId { get; set; }

        public UserSimpleInfo DoctorUser { get; set; }



        [JsonIgnore]
        public List<TaskBasicIdView> ActualVisitTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> ActualJudgeTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> ActualGlobalTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> ActualTumorTaskList { get; set; }


       

        [JsonIgnore]
        public List<TaskBasicIdView> GeneratedVisitTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> GeneratedJudgeTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> GeneratedGlobalTaskList { get; set; }
        [JsonIgnore]
        public List<TaskBasicIdView> GeneratedTumorTaskList { get; set; }


        public int GeneratedVisitCount => GeneratedVisitTaskList.Count;
        public int GeneratedJudgeCount => GeneratedJudgeTaskList.Count;
        public int GeneratedGlobalCount => GeneratedGlobalTaskList.Count;
        public int GeneratedTumorCount => GeneratedTumorTaskList.Count;




        public int ActualVisitCount => ActualVisitTaskList.Count;
        public int ActualJudgeCount => ActualJudgeTaskList.Count;
        public int ActualGlobalCount => ActualGlobalTaskList.Count;
        public int ActualTumorCount => ActualTumorTaskList.Count;

    }


    public class TaskBasicIdView
    {
        public Guid TaskId { get; set; }
        public Guid TrialId { get; set; }
        public Guid? DoctorUserId { get; set; }
    }
    ///<summary>TaskTaskMedicalReviewRuleQuery  列表查询参数模型</summary>
    public class TaskMedicalReviewRuleQuery
    {
        [NotDefault]
        public Guid TrialId { get; set; }

    }

    ///<summary> TaskTaskMedicalReviewRuleAddOrEdit  列表查询参数模型</summary>
    public class TaskMedicalReviewRuleAddOrEdit
    {
        public Guid? Id { get; set; }
        public Guid DoctorUserId { get; set; }
        public bool IsEnable { get; set; }
        public string Note { get; set; }
        public Guid TrialId { get; set; }
        public int PlanVisitCount { get; set; }
        public int PlanJudgeCount { get; set; }
        public int PlanGlobalCount { get; set; }
        public int PlanTumorCount { get; set; }
    }


}