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("ReadingQuestionTrial")]
	public class ReadingQuestionTrial : Entity, IAuditAdd
	{
		/// <summary>
		/// 项目标准Id
		/// </summary>
		public Guid ReadingQuestionCriterionTrialId { get; set; }

		/// <summary>
		/// 项目Id
		/// </summary>
		public Guid TrialId { get; set; }

		/// <summary>
		/// 类型
		/// </summary>
		public string Type { get; set; }

		/// <summary>
		/// 父问题触发
		/// </summary>
		public string ParentTriggerValue { get; set; }

		/// <summary>
		/// 问题名称
		/// </summary>
		public string QuestionName { get; set; }

		/// <summary>
		/// 是否是必须
		/// </summary>
		public bool IsRequired { get; set; }

		/// <summary>
		/// 排序
		/// </summary>
		public int ShowOrder { get; set; }

		/// <summary>
		/// 父问题ID
		/// </summary>
		public Guid? ParentId { get; set; }


		/// <summary>
		/// 类型值
		/// </summary>
		public string TypeValue { get; set; }

		public bool IsEnable { get; set; }

		/// <summary>
		/// 是否是裁判问题
		/// </summary>
		public bool IsJudgeQuestion { get; set; }

		/// <summary>
		/// 备注
		/// </summary>
		public string Remark { get; set; }

		/// <summary>
		/// 分组
		/// </summary>
		public string GroupName { get; set; }

		/// <summary>
		/// 创建时间
		/// </summary>
		public DateTime CreateTime { get; set; }

		/// <summary>
		/// 系统问题ID
		/// </summary>
		public Guid? ReadingQuestionSystemId { get; set; }

		/// <summary>
		/// 系统标准的ParentId
		/// </summary>
		public Guid? SystemParentId { get; set; }

		/// <summary>
		/// 答案分组
		/// </summary>
		public string AnswerGroup { get; set; } = string.Empty;

		/// <summary>
		/// 答案组合
		/// </summary>
		public string AnswerCombination { get; set; } = string.Empty;

		/// <summary>
		/// 裁判类型
		/// </summary>
		public JudgeTypeEnum JudgeType { get; set; }

		/// <summary>
		/// 创建人
		/// </summary>
		public Guid CreateUserId { get; set; }

		[ForeignKey("ParentId")]
		public ReadingQuestionTrial ParentReadingQuestionTrial { get; set; }

		[ForeignKey("ReadingQuestionCriterionTrialId")]
		public ReadingQuestionCriterionTrial ReadingQuestionCriterionTrial { get; set; }

	}


	



}