//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2022-03-28 16:43:52 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using IRaCIS.Core.Infra.EFCore.Common.Dto;
namespace IRaCIS.Core.Application.ViewModel
{
    ///  FrontAuditConfigView  列表视图模型 
    public class FrontAuditConfigView:FrontAuditConfig
    {
        public string ChildrenTypeValue { get; set; } = string.Empty;
        public string ChildrenTypeValueCN { get; set; } = string.Empty;
        public string ModuleTypeValue { get; set; } = string.Empty;
        public string ModuleTypeValueCN { get; set; } = string.Empty;
        public string OptTypeValue { get; set; } = string.Empty;
        public string OptTypeValueCN { get; set; } = string.Empty;
        public string ObjectTypeValue { get; set; } = string.Empty;
        public string ObjectTypeValueCN { get; set; } = string.Empty;
    }
    public class BatchAddFrontAudit
    {
        [NotDefault]
        public Guid ParentId { get; set; }
        public List Columns { get; set; }
    }
    public class GetChildrenItem
    {
      
        public Guid Id { get; set; }
    }
    /// 
    /// 完全复制对象
    /// 
    public class FullyReplicated
    {
        /// 
        /// 数据来源对象
        /// 
        public Guid FromItemId { get; set; }
        /// 
        /// 要赋值到的对象
        /// 
        public Guid ToItemId { get; set; }
    }
    /// 
    /// 复制其他对象到当前对象
    /// 
    public class CopyOtherToThisItem
    {
        /// 
        /// 数据源Guids
        /// 
        public List DataSourceGuids { get; set; }=new List(){ };
        /// 
        /// 添加对象的Guid
        /// 
        public Guid AddItemGuid { get; set; }
    }
    public class GetDescriptionByModuleTypeDto
    {
        public Guid ModuleTypeId { get; set; }
    }
    ///FrontAuditConfigQuery  列表查询参数模型
    public class FrontAuditConfigQuery
    {
        /// Value
        public string Value { get; set; } = string.Empty;
        /// ValueCN
        public string ValueCN { get; set; } = string.Empty;
        /// Description
        public string Description { get; set; } = string.Empty;
        /// Code
        public string Code { get; set; } = string.Empty;
        ///  OptTypeId 
        public Guid? OptTypeId { get; set; }
        /// ChildrenTypeId
        public Guid? ChildrenTypeId { get; set; } 
        public Guid? ModuleTypeId { get; set; }
        public Guid? ObjectTypeId { get; set; }
        public string ConfigType { get; set; } = string.Empty;
    }
    public class ChangeFrontAuditSortDto
    {
        public List SortDataList { get; set; }
    }
    public class FrontAuditSort
    {
        public Guid Id { get; set; }
        public int Sort { get; set; }
    }
    public class FrontAuditConfigDTO: FrontAuditConfigAddOrEdit
    {
    }
    /// FrontAuditConfigAddOrEdit  列表查询参数模型
    public class FrontAuditConfigAddOrEdit
    {
        public Guid? Id { get; set; }
        public string Value { get; set; } = string.Empty;
        public string ValueCN { get; set; } = string.Empty;
        public string Description { get; set; } = string.Empty;
        public DateTime CreateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid UpdateUserId { get; set; }
        public string Code { get; set; } = string.Empty;
        public Guid? ParentId { get; set; }
        public bool IsEnable { get; set; }
        public bool IsConfig { get; set; }
        public Guid? ModuleTypeId { get; set; }
        public Guid? OptTypeId { get; set; } 
        public Guid? ChildrenTypeId { get; set; } 
        public string ConfigType { get; set; } = string.Empty;
        public int? IsShowParent { get; set; }
        public int? Sort { get; set; }
        public string EnumList { get; set; } = string.Empty;
        public string DictionaryKey { get; set; } = string.Empty;
        public string EnumType { get; set; } = string.Empty;
        public Guid? ObjectTypeId { get; set; } 
        public bool? IsShowByTrialConfig { get; set; }
        public string ByTrialConfig { get; set; } = string.Empty;
        /// 
		/// 是否向前站位
		/// 
		public bool? IsForwardPosition { get; set; }
        /// 
        /// 标识
        /// 
        public string Identification { get; set; } = string.Empty;
        /// 
		/// 是否有签名
		/// 
		public bool? IsHaveSign { get; set; }
        /// 
        /// 是否有原因
        /// 
        public bool? IsHaveReason { get; set; }
        /// 
        /// 是否完成
        /// 
        public bool? IsFinish { get; set; }
        /// 
        /// 是否加入计划
        /// 
        public bool? IsJoinPlan { get; set; }
        /// 
        /// 数据类型
        /// 
        public string DataType { get; set; }
        /// 
        /// 子数据Lable
        /// 
        public string ChildDataLabel { get; set; }
        /// 
        /// 子数据Value
        /// 
        public string ChildDataValue { get; set; }
        /// 
        /// 是否为特殊类型
        /// 
        public bool? IsSpecialType { get; set; }
        /// 
        /// 日期类型
        /// 
        public string DateType { get; set; }=string.Empty;
        /// 
        /// 字典Code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// 字典Type
        /// 
        public string DictionaryType { get; set; } = string.Empty;
        /// 
        /// 外键Table
        /// 
        public string ForeignKeyTable { get; set; } = string.Empty;
        /// 
        /// 外键Ke
        /// 
        public string ForeignKeyValue { get; set; } = string.Empty;
        /// 
        ///外键Text
        /// 
        public string ForeignKeyText { get; set; } = string.Empty;
        /// 
        /// 接口名
        /// 
        public string InterfaceName { get; set; } = string.Empty;
        //byzhouahng
        public string TableConfigJsonStr { get; set; } = String.Empty;
        public string UrlConfigJsonStr { get; set; } = String.Empty;
        public UrlConfig UrlConfig { get; set; } = new UrlConfig();
        public List TableConfigList { get; set; } = new List();
    }
}