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

namespace IRaCIS.Core.Domain.Models
{
	 ///<summary>
	 /// 表格问题答案行数据
	 ///</summary>
	 [Table("ReadingTableAnswerRowInfo")]	
	 public class ReadingTableAnswerRowInfo : Entity, IAuditAdd, IAuditUpdate, ISoftDelete
	{
		[JsonIgnore]
		[ForeignKey("InstanceId")]
		public DicomInstance Instance { get; set; }



		/// <summary>
		/// 第一层的Question
		/// </summary>
		public Guid QuestionId { get; set; }

		/// <summary>
		/// VisitTaskId
		/// </summary>
		public Guid VisitTaskId { get; set; }
	
		/// <summary>
        /// TrialId
        /// </summary>
		public Guid TrialId { get; set; }


		/// <summary>
		/// InstanceId
		/// </summary>
		public Guid? InstanceId { get; set; }

		/// <summary>
		/// SeriesId
		/// </summary>
		public Guid? SeriesId { get; set; }


		/// <summary>
		/// StudyId
		/// </summary>
		public Guid? StudyId { get; set; }

		public bool IsCanEditPosition { get; set; } = false;


		/// <summary>
		/// 是Dicom阅片
		/// </summary>
		public bool IsDicomReading { get; set; } = true;

		/// <summary>
		/// RowIndex
		/// </summary>
		public decimal RowIndex { get; set; }

		/// <summary>
		/// MeasureData
		/// </summary>
		public string MeasureData { get; set; } = string.Empty;
	
		/// <summary>
        /// CreateTime
        /// </summary>
		public DateTime CreateTime { get; set; }

		/// <summary>
		/// 是否是当前任务添加
		/// </summary>
		public bool IsCurrentTaskAdd { get; set; } = false;


		/// <summary>
		/// SplitRowId
		/// </summary>
		public Guid? SplitRowId { get; set; }


		/// <summary>
		/// MergeRowId
		/// </summary>
		public Guid? MergeRowId { get; set; }

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

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

		/// <summary>
		/// 截图地址
		/// </summary>
		public string PicturePath { get; set; } = string.Empty;

		/// <summary>
		/// 第一次添加的任务ID
		/// </summary>
		public decimal FristAddTaskNum { get; set; } = 0;

		/// <summary>
		/// 首次添加任务ID
		/// </summary>
		public Guid FristAddTaskId { get; set; }


		public SplitOrMergeType? SplitOrMergeType { get; set; }

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


		public int? NumberOfFrames { get; set; }

		public Guid UpdateUserId { get; set; }
		//string UpdateUserName { get; set; }
		public DateTime UpdateTime { get; set; }

		/// <summary>
		/// 器官Id
		/// </summary>
		public Guid? OrganInfoId { get; set; }

		[ForeignKey("OrganInfoId")]
		public OrganInfo OrganInfo { get; set; }

        /// <summary>
        /// 窗宽WW
        /// </summary>
        public decimal? WW { get; set; }

		/// <summary>
		/// 窗位WL
		/// </summary>
		public decimal? WL { get; set; }

		/// <summary>
		/// 来自于哪个标记
		/// </summary>
		public string FromMark { get; set; } = string.Empty;

		/// <summary>
		/// 报告页面显示来自于哪个标记
		/// </summary>
        public string ReportMark { get; set; } = string.Empty;

        public bool IsDeleted { get; set; }

		public DateTime? DeletedTime { get; set; }

		public Guid? DeleteUserId { get; set; }

		[JsonIgnore]
		[ForeignKey("SplitRowId")]
		public ReadingTableAnswerRowInfo SplitRow { get; set; }
		[JsonIgnore]
		[ForeignKey("MergeRowId")]
		public ReadingTableAnswerRowInfo MergeRow { get; set; }
		[JsonIgnore]
		[ForeignKey("QuestionId")]
		public ReadingQuestionTrial ReadingQuestionTrial { get; set; }


		//病灶编号
		public string RowMark { get; set; } = string.Empty;

		/// <summary>
		/// 标记工具
		/// </summary>
		public string MarkTool { get; set; } = string.Empty;


		[JsonIgnore]
        [ForeignKey("VisitTaskId")]
        public VisitTask VisitTask { get; set; }

        //病灶答案表
        [JsonIgnore]
        public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();

    }


}