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

namespace IRaCIS.Core.Domain.Models
{
    ///<summary>
    ///重阅申请流程记录表
    ///</summary>
    [Table("VisitTaskReReading")]
    public class VisitTaskReReading : Entity, IAuditUpdate, IAuditAdd
    {
        public Guid TrialId { get; set; }

        //重阅原始任务Id  重阅会产生新的任务 
        public Guid OriginalReReadingTaskId { get; set; }


        //产生重阅的根任务Id
        public Guid RootReReadingTaskId { get; set; }

        //重阅申请 产生的新任务Id
        public Guid? NewReReadingTaskId { get; set; }

        public Guid RequestReReadingUserId { get; set; }
        [JsonIgnore]
        public User RequestReReadingUser { get; set; }

        public DateTime RequestReReadingTime { get; set; }
        [JsonIgnore]
        public VisitTask NewReReadingTask { get; set; }
        [JsonIgnore]
        public VisitTask RootReReadingTask { get; set; }
        [JsonIgnore]
        public VisitTask OriginalReReadingTask { get; set; }

        //申请回退类型
        public RequestReReadingType RequestReReadingType { get; set; }


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

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

        public RequestReReadingResult RequestReReadingResultEnum { get; set; }



        public Guid? RequestReReadingConfirmUserId { get; set; }

        public User RequestReReadingConfirmUser { get; set; }



        public bool IsCopyOrigenalForms { get; set; }

        //仅仅包括全局和访视
        public bool IsCopyFollowForms { get; set; }


        public Guid CreateUserId { get; set; }


        public DateTime CreateTime { get; set; }


        public DateTime UpdateTime { get; set; }

        public Guid UpdateUserId { get; set; }

        [JsonIgnore]
        public User CreateUser { get; set; }
    }

}
