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

namespace IRaCIS.Core.Application.ViewModel
{

    public class CriterionNidusView
    {
        public Guid? Id { get; set; }
        public Guid CriterionId { get; set; }
        /// <summary>
        /// 器官类型
        /// </summary>
        public OrganType OrganType { get; set; }

        public LesionType LesionType { get; set; }
        public DateTime CreateTime { get; set; }
        public Guid CreateUserId { get; set; }
    }

    public class OrganDictionary
    {

        public string ChildGroup { get; set; }

        public int ChildCodeEnum { get; set; }


        public DicDataTypeEnum DataTypeEnum { get; set; }



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


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



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

        public int ShowOrder { get; set; }


        public Guid UpdateUserId { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }


        public string Code { get; set; }

        public Guid? ParentId { get; set; }

        public bool IsEnable { get; set; }

        public Guid? ConfigTypeId { get; set; }

    }

    public class GetCriterionLesionTypeInDto
    {
        public Guid? SystemCriterionId { get; set; }

        public Guid? TrialCriterionId { get; set; }
    }

    ///<summary>CriterionNidusQuery  列表查询参数模型</summary>
    public class CriterionNidusQuery
    {

        public Guid CriterionId { get; set; }
    }

    ///<summary> CriterionNidusAddOrEdit  列表查询参数模型</summary>
    public class CriterionNidusAddOrEdit
    {
        public Guid? Id { get; set; }
        public Guid CriterionId { get; set; }
        /// <summary>
        /// 病灶类型
        /// </summary>
        public LesionType LesionType { get; set; }
        /// <summary>
        /// 器官类型
        /// </summary>
        public OrganType OrganType { get; set; }

        /// <summary>
        /// 是否是系统标准
        /// </summary>
        public bool IsSystemCriterion { get; set; } = true;

        public bool CriterionNidus { get; set; }
    }
    public class BatchAddTrialOrganInDto
    {
        public Guid TrialId { get; set; }

        public Guid TrialReadingCriterionId { get; set; }

        public List<Guid> OrganIds { get; set; }
    }


    /// <summary> OrganInfoView  列表视图模型 </summary>
    public class OrganInfoView
    {


        public Guid Id { get; set; }

        /// <summary>
        /// 部位
        /// </summary>
        public string Part { get; set; }

        /// <summary>
        /// TULOC
        /// </summary>
        public string TULOC { get; set; }

        /// <summary>
        /// 位置
        /// </summary>
        public string TULAT { get; set; }

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


        /// <summary>
        /// 是否是淋巴结
        /// </summary>
        public IsLymph IsLymphNodes { get; set; }


        /// <summary>
        /// 是否可编辑位置
        /// </summary>
        public bool IsCanEditPosition { get; set; }

        /// <summary>
        /// 器官类型
        /// </summary>
        public OrganType OrganType { get; set; }


        /// <summary>
        /// 部位 英文
        /// </summary>
        public string PartEN { get; set; } = string.Empty;



        /// <summary>
        /// TULOC 英文
        /// </summary>
        public string TULOCEN { get; set; } = string.Empty;




        /// <summary>
        /// 位置 英文
        /// </summary>
        public string TULATEN { get; set; } = string.Empty;


        /// <summary>
        /// 分类
        /// </summary>
        public string Classification { get; set; } = string.Empty;

        /// <summary>
        /// 分类 英文
        /// </summary>
        public string ClassificationEN { get; set; } = string.Empty;


        /// <summary>
        /// 序号
        /// </summary>
        public int ShowOrder { get; set; } = 0;
    }

    public class GetTrialSelectOrganListInDto
    {
        public Guid TrialId { get; set; }

    }

    public class CriterionNidusData : CriterionNidusSystem
    {
        public Guid OriginalId { get; set; }
    }


    public class SynchronizeSystemOrganInDto
    {
        [NotDefault]
        public Guid FromCriterionId { get; set; }
        [NotDefault]
        public Guid ToCriterionId { get; set; }
    }


    public class SynchronizeSystemOrganToTrialInDto
    {

        public Guid TrialReadingCriterionId { get; set; }



        public Guid? SystemCriterionId { get; set; }
    }
    public class GetReadingOrganListOutDto
    {
        /// <summary>
		/// 病灶类型
		/// </summary>
		public LesionType LesionType { get; set; }

        public List<ReadingOrganDto> OrganList { get; set; }
    }

    public class GetReadingOrganListInDto
    {
        [NotDefault]
        public Guid VisitTaskId { get; set; }
    }

    public class SetOrganIsEnableInDto
    {
        public bool IsEnable { get; set; }

        public List<Guid> Ids { get; set; }
    }
    public class GetTrialOrganListInDto
    {
        public Guid? TrialReadingCriterionId { get; set; }

        public Guid? VisitTaskId { get; set; }


        public OrganType? OrganType { get; set; }

        /// <summary>
        /// 病灶类型
        /// </summary>
        public LesionType? LesionType { get; set; }

        public bool? IsEnable { get; set; }

        public IsLymph? IsLymphNodes { get; set; }


        public string Part { get; set; } = string.Empty;
        public string TULOC { get; set; } = string.Empty;
        public string TULAT { get; set; } = string.Empty;










        /// <summary>
        /// 部位 英文
        /// </summary>
        public string PartEN { get; set; } = string.Empty;


        /// <summary>
        /// TULOC 英文
        /// </summary>
        public string TULOCEN { get; set; } = string.Empty;



        /// <summary>
        /// 位置 英文
        /// </summary>
        public string TULATEN { get; set; } = string.Empty;
    }

    public class GetTrialCheckOrganList : GetTrialOrganListOutDto
    {
        public bool IsCheckd { get; set; }
    }

    public class ReadingOrganDto : GetTrialOrganListOutDto
    {

        public Guid OrganInfoId { get; set; }

        /// <summary>
		/// 病灶类型
		/// </summary>
		public LesionType LesionType { get; set; }
    }
    public class GetTrialOrganListOutDto
    {
        public Guid Id { get; set; }
        public string? Part { get; set; }
        public string? TULOC { get; set; }
        public string? TULAT { get; set; }

        /// <summary>
        /// 分类
        /// </summary>
        public string Classification { get; set; } = string.Empty;

        /// <summary>
        /// 分类 英文
        /// </summary>
        public string ClassificationEN { get; set; } = string.Empty;


        /// <summary>
        /// 序号
        /// </summary>
        public int ShowOrder { get; set; } = 0;


        /// <summary>
        /// 是否可编辑位置
        /// </summary>
        public bool IsCanEditPosition { get; set; }

        public bool IsEnable { get; set; }

        /// <summary>
        /// 器官类型
        /// </summary>
        public OrganType OrganType { get; set; }

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


        /// <summary>
        /// 是否是淋巴结
        /// </summary>
        public IsLymph IsLymphNodes { get; set; }


        /// <summary>
        /// 部位 英文
        /// </summary>
        public string PartEN { get; set; } = string.Empty;


        /// <summary>
        /// TULOC 英文
        /// </summary>
        public string TULOCEN { get; set; } = string.Empty;



        /// <summary>
        /// 位置 英文
        /// </summary>
        public string TULATEN { get; set; } = string.Empty;

    }

    ///<summary>OrganInfoQuery  列表查询参数模型</summary>
    public class OrganInfoQuery : PageInput
    {

        /// <summary>
        /// 病灶类型
        /// </summary>
        public OrganType? OrganType { get; set; }

        /// <summary>
        /// 病灶类型
        /// </summary>
        public LesionType? LesionType { get; set; }

        public Guid SystemCriterionId { get; set; }

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

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

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

    }





    ///<summary> OrganInfoAddOrEdit  列表查询参数模型</summary> = string.Empty;
    public class OrganInfoAddOrEdit
    {
        public Guid? Id { get; set; }
        public string Part { get; set; }

        /// <summary>
        /// 分类
        /// </summary>
        public string Classification { get; set; } = string.Empty;

        /// <summary>
        /// 分类 英文
        /// </summary>
        public string ClassificationEN { get; set; } = string.Empty;


        /// <summary>
        /// 序号
        /// </summary>
        public int ShowOrder { get; set; } = 0;

        public string TULOC { get; set; }
        public string TULAT { get; set; }


        /// <summary>
        /// 是否可编辑位置
        /// </summary>
        public bool IsCanEditPosition { get; set; }

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

        /// <summary>
        /// 是否是淋巴结
        /// </summary>
        public IsLymph IsLymphNodes { get; set; }

        /// <summary>
        /// 病灶类型
        /// </summary>
        public OrganType OrganType { get; set; }

        /// <summary>
		/// 标准 病灶类型
		/// </summary>
		public Guid SystemCriterionId { get; set; }

        public DateTime CreateTime { get; set; }
        public Guid CreateUserId { get; set; }


        /// <summary>
        /// 部位 英文
        /// </summary>
        public string PartEN { get; set; } = string.Empty;



        /// <summary>
        /// TULOC 英文
        /// </summary>
        public string TULOCEN { get; set; } = string.Empty;




        /// <summary>
        /// 位置 英文
        /// </summary>
        public string TULATEN { get; set; } = string.Empty;
    }


}


