using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Infra.EFCore.Common.Dto
{
    public class SetInspectionEnumValueDto
    {
        [NotDefault]
        public Guid TrialId { get; set; }

        [NotDefault]
        public List<Guid> AuditDataIds { get; set; }



    }

    public class SetInspectionEnumDataDto
    {
        public Guid Id { get; set; }

        public string Identification { get; set; }

        public string JsonStr { get; set; }

        public Guid? ObjectRelationParentId { get; set; }

        public Guid? ObjectRelationParentId2 { get; set; }

        public Guid? ObjectRelationParentId3 { get; set; }


        /// <summary>
        /// 批次Id
        /// </summary>
        public Guid BatchId { get; set; }

        public DateTime CreateTime { get; set; }
    }




    public class AddInterface
    {
        public Guid ParentId { get; set; }

        public List<string> Names { get; set; }
    }

    public class AccessToDialogueInDto
    {
        public Guid Id { get; set; }

        public AccessToDialogueEnum Type { get; set; }

        public DateTime Createtime { get; set; }
    }


    public class AccessToDialogueOutDto
    {
        public string CreateUserName { get; set; }

        public string TalkContent { get; set; }

        public DateTime CreateTime { get; set; }

        public bool IsTitle { get; set; }
    }

    public enum AccessToDialogueEnum
    {
        /// <summary>
        /// 质疑
        /// </summary>
        Question = 0,

        /// <summary>
        /// 一致性核查
        /// </summary>
        Consistency = 1,
    }

    /// <summary>
    /// 复制
    /// </summary>
    public class CopyFrontAuditConfigItemDto
    {
        public Guid ParentId { get; set; }

        public Guid ChildId { get; set; }
    }


    public class UnitData
    {
		/// <summary>
		/// 单位
		/// </summary>
		public ValueUnit? Unit { get; set; }

        public string UnitName { get; set; }
    }

    /// <summary>
    /// 稽查数据
    /// </summary>
    public class InspectionJsonDetail
    {
        public string EntityName { get; set; }
        public object Data { get; set; }

        public object CommonData { get; set; }
    }

    public class VisitTaskAuditingDto
    {
		public string UserRealName { get; set; }

		public string SubjectCode { get; set; }

		public string R1 { get; set; }

		public string R2 { get; set; }

		public string CutOffVisitName { get; set; }

		public string SelectResult { get; set; }
	}
    public class InspectionConvertDTO : DataInspection
    {
        /// <summary>
        /// 项目名称
        /// </summary>
        public string TrialName { get; set; }

        /// <summary>
        /// 中心Code
        /// </summary>
        public string SiteCode { get; set; }

        /// <summary>
        /// 项目编码
        /// </summary>
        public string ResearchProgramNo { get; set; }

        /// <summary>
        /// 中心名称
        /// </summary>
        public string SiteName { get; set; }

        /// <summary>
        /// 受试者名称
        /// </summary>
        public string SubjectCode { get; set; }

        /// <summary>
        /// 访视名称
        /// </summary>
        public string SubjectVisitName { get; set; }

        /// <summary>
        /// 盲态访视名
        /// </summary>
        public string BlindName { get; set; } = string.Empty;


		/// <summary>
		/// 标识操作  是否区分接口
		/// </summary>
		public bool IsDistinctionInterface=true;

        public bool IsSelfDefine = false;

        // 额外标识
        public string ExtraIndentification = string.Empty;


    }

    /// <summary>
    /// 稽查外层数据
    /// </summary>
    public class InspectionGeneralData
    {
        /// <summary>
		/// 项目iD
		/// </summary>
        public Guid? TrialId { get; set; }

        public Guid? TrialSiteId { get;set; }



        /// <summary>
        /// 受试者
        /// </summary>
        public Guid? SubjectId { get; set; }

        /// <summary>
        /// 访视
        /// </summary>
        public Guid? SubjectVisitId { get; set; }

        public Guid? TrialReadingCriterionId { get; set; }


        /// <summary>
        /// 项目名称
        /// </summary>
        public string TrialName { get; set; }

        /// <summary>
        /// 中心Code
        /// </summary>
        public string SiteCode { get; set; }

        /// <summary>
        /// 项目编码
        /// </summary>
        public string ResearchProgramNo { get; set; }


        /// <summary>
        /// 受试者名称
        /// </summary>
        public string SubjectCode { get; set; }

        /// <summary>
        /// 访视名称
        /// </summary>
        public string SubjectVisitName { get; set; }



        //      /// <summary>
        ///// 创建人名称
        ///// </summary>
        //public string CreateUserName { get; set; }


        //      /// <summary>
        //      /// 角色名称
        //      /// </summary>
        //      public string RoleName { get; set; }


    }

    public class SetInspectionEnum
    {
        public string Identification { get; set; }

        public string Json { get; set; }
    }


    public class TableList
    {
        public string Name { get; set; }

        public string Remake { get; set; }
    }





}