using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Share;
using Newtonsoft.Json;

namespace IRaCIS.Core.Domain.Models
{
	///<summary>
	///ReadingCriterionDictionary
	///</summary>
	[Table("ReadingSystemCriterionDictionary")]	
	 public class ReadingSystemCriterionDictionary : Entity, IAuditAdd
	 {
		/// <summary>
		/// CriterionId
		/// </summary>
		public Guid CriterionId { get; set; }
	
		/// <summary>
        /// DictionaryId
        /// </summary>
		public Guid DictionaryId { get; set; }
	
		/// <summary>
        /// CreateTime
        /// </summary>
		public DateTime CreateTime { get; set; }

		/// <summary>
		/// IsSystemCriterion
		/// </summary>
		public bool IsSystemCriterion { get; set; } = false;

		/// <summary>
		/// ParentCode
		/// </summary>
		public string ParentCode { get; set; } = string.Empty;

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


		/// <summary>
		/// IsBaseLineUse
		/// </summary>
		public bool IsBaseLineUse { get; set; } = false;

		/// <summary>
		/// IsBaseUse
		/// </summary>
		public bool IsFollowVisitUse { get; set; } = false;

		/// <summary>
		/// ±ê×¼×Öµä·Ö×é
		/// </summary>
		public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } = CrterionDictionaryGroup.General;

		[JsonIgnore]
		[ForeignKey("DictionaryId")]
		public Dictionary Dictionary { get; set; }

		


    }

	
}	 
