using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.Dtos.CRM
{
    public class DeleClientOpDto
    {
        /// <summary>
        /// 操作状态
        /// 1 添加 
        /// 2 修改 
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 客户资料信息
        /// </summary>
        public DeleClient DeleClient { get; set; }
        public List<CustomerFamily> CustomerFamily { get; set; }

        public List<CustomerCerts> CustomerCert { get; set; }

        public List<VisaCustomerCompany> WorkExperience { get; set; }

        public List<VisaCustomerSchool> CustomerSchool { get; set; }
    } 
    /// <summary>
    /// 客户资料修改
    /// </summary>
    public class DeleClient
    {
        
        public int MyProperty { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 团组Id
        /// </summary>
        public int DiId { get; set; }
        /// <summary>
        /// 中文姓名
        /// </summary>

        public string LastName { get; set; }
        /// <summary>
        /// 英文姓名
        /// </summary>
       
        public string FirstName { get; set; }
        /// <summary>
        /// 曾用名
        /// </summary>
       
        public string OldName { get; set; }
        /// <summary>
        /// 名字拼音
        /// </summary>
       
        public string Pinyin { get; set; }
        /// <summary>
        /// 性别 0男1女
        /// </summary>
        
        public int Sex { get; set; }
        /// <summary>
        /// 婚姻状况 0、1、2、3、4 (未设置、未婚、已婚、离异、丧偶)
        /// </summary>
        
        public int Marriage { get; set; }
        /// <summary>
        /// 客户手机号
        /// </summary>
        
        public string Phone { get; set; }
        /// <summary>
        /// 出生省份
        /// </summary>
       
        public string BirthProvince { get; set; }
        /// <summary>
        /// 出生城市
        /// </summary>
       
        public string BirthCity { get; set; }
        /// <summary>
        /// 出生日期
        /// </summary>
       
        public string BirthDay { get; set; }

        /// <summary>
        /// 机票喜好舱位
        /// </summary>
       
        public string AirType { get; set; }
        /// <summary>
        /// 是否靠窗
        /// </summary>
        
        public int SeatPref { get; set; }
        /// <summary>
        /// 机票备注
        /// </summary>
       
        public string AirRemark { get; set; }
        /// <summary>
        /// 酒店喜好房型
        /// </summary>
       
        public string RoomType { get; set; }
        /// <summary>
        /// 酒店需求
        /// </summary>
       
        public string RoomPref { get; set; }

        /// <summary>
        /// 家庭联系方式
        /// </summary>
        
        public string Tel { get; set; }
        /// <summary>
        /// 客户电子邮件
        /// </summary>
       
        public string Email { get; set; }
        /// <summary>
        /// 住址
        /// </summary>
       
        public string Address { get; set; }
        /// <summary>
        /// 最高学历
        /// </summary>
        
        public string HighestEducation { get; set; }
        /// <summary>
        /// 邮编
        /// </summary>
       
        public string PostCodes { get; set; }

        /// <summary>
        /// 客户公司Id
        /// </summary>
        
        public int CrmCompanyId { get; set; }

        /// <summary>
        /// 职位
        /// </summary>
       
        public string Job { get; set; }
        /// <summary>
        /// 本人工作内容
        /// </summary>
       
        public string WorkState { get; set; }
        /// <summary>
        /// 入职时间
        /// </summary>
       
        public string WorkDate { get; set; }
        /// <summary>
        /// 薪资
        /// </summary>
        
        public string Wage { get; set; }
        /// <summary>
        /// (单位/部门)电话
        /// </summary>
        
        public string ClientPhone { get; set; }
        /// <summary>
        /// (单位/部门)传真
        /// </summary>
       
        public string ClientFax { get; set; }
        /// <summary>
        /// (单位/部门)邮箱
        /// </summary>
       
        public string ClientEmail { get; set; }
        /// <summary>
        /// (单位/部门)负责人姓名
        /// </summary>
        
        public string ClientLeader { get; set; }
        /// <summary>
        /// (单位/部门)负责人职务
        /// </summary>
        
        public string ClientLeaderJob { get; set; }
        /// <summary>
        /// 是否有获批的申根签证 
        /// 0否1是
        /// </summary>
        
        public int IsGetSchengen { get; set; }
        /// <summary>
        /// 申根有效期
        /// </summary>
       
        public DateTime StartTime { get; set; }
        /// <summary>
        /// 申根有效期
        /// </summary>
       
        public DateTime EndTime { get; set; }
        /// <summary>
        /// 申根是否在使馆有指纹记录 
        /// 0否1是
        /// </summary>
        
        public int IsFinger { get; set; }
        /// <summary>
        /// 申根指纹录入时间
        /// </summary>
       
        public DateTime FingerDate { get; set; }
        /// <summary>
        /// 是否因公去过美国/加拿大
        /// 0否1是
        /// </summary>
        
        public int IsVisitUC { get; set; }
        /// <summary>
        /// 美国抵达日期
        /// </summary>
       
        public DateTime USADate { get; set; }
        /// <summary>
        /// 美国停留天数
        /// </summary>
        
        public int USADays { get; set; }
        /// <summary>
        /// 加拿大抵达日期
        /// </summary>
       
        public DateTime CanDate { get; set; }
        /// <summary>
        /// 加拿大停留天数
        /// </summary>
        
        public int CanDays { get; set; }
        /// <summary>
        /// 是否曾获得过因公美国签证 0否1是
        /// </summary>
        
        public int IsUSAVia { get; set; }
        /// <summary>
        /// 因公美国签证最近获得时间
        /// 0否1是
        /// </summary>
       
        public DateTime GetUSAVisaDate { get; set; }
        /// <summary>
        /// 因公美国签证地点
        /// </summary>
       
        public string GetUPPlace { get; set; }
        /// <summary>
        /// 因公美国签证种类
        /// </summary>
       
        public string USAVisaCate { get; set; }
        /// <summary>
        /// 因公美国签证编码
        /// </summary>
       
        public string USAVisaCode { get; set; }
        /// <summary>
        /// 是否在使馆留过十指的指纹 0否1是
        /// </summary>
        
        public int USAFinger { get; set; }
        /// <summary>
        /// 是否曾经被拒签 0否1是
        /// </summary>
        
        public int IsRejected { get; set; }
        /// <summary>
        /// 被拒时间
        /// </summary>
       
        public DateTime RejectedDate { get; set; }
        /// <summary>
        /// 被拒地点
        /// </summary>
       
        public string RejectedPlace { get; set; }
        /// <summary>
        /// 被拒签证种类
        /// </summary>
       
        public string RejectedVisa { get; set; }
        /// <summary>
        /// 美国签证是否被吊销过 0否1是
        /// </summary>
        
        public int IsRevoke { get; set; }
        /// <summary>
        /// 护照是否曾经丢失 0否1是
        /// </summary>
        
        public int IsLose { get; set; }
        /// <summary>
        /// 丢失护照时间
        /// </summary>
       
        public DateTime LoseDate { get; set; }
        /// <summary>
        /// 丢失护照编号
        /// </summary>
       
        public string LoseCode { get; set; }
        /// <summary>
        /// 丢失的护照是否有美国签证 0否1是
        /// </summary>
        
        public int IsUSAVisa { get; set; }
        /// <summary>
        /// 夫/妻是否已在美国 
        /// 0否1是
        /// </summary>
        
        public int MateUSA { get; set; }
        /// <summary>
        /// 夫/妻身份
        /// </summary>
       
        public string MateIden { get; set; }
        /// <summary>
        /// 未婚夫/妻是否已在美国 0否1是
        /// </summary>
        
        public int WHUSA { get; set; }
        /// <summary>
        /// 未婚夫/妻身份
        /// </summary>
       
        public string WHIden { get; set; }
        /// <summary>
        /// 父/母是否已在美国
        /// 0否1是
        /// </summary>
        
        public int ParentUSA { get; set; }
        /// <summary>
        /// 父/母身份
        /// </summary>
       
        public string ParentIden { get; set; }
        /// <summary>
        /// 子/女是否已在美国 0否1是
        /// </summary>
        
        public int ChildUSA { get; set; }
        /// <summary>
        /// 子/女身份
        /// </summary>
       
        public string ChildIden { get; set; }
        /// <summary>
        /// 兄弟/姐妹是否已在美国 0否1是
        /// </summary>
        
        public int BroUSA { get; set; }
        /// <summary>
        /// 兄弟/姐妹身份
        /// </summary>
       
        public string BroIden { get; set; }
        /// <summary>
        /// 所属/捐助/工作过的职业协会、社会团体和慈善机构
        /// </summary>
       
        public string Social { get; set; }
        /// <summary> 
        /// 是否参军  
        /// 0否1是
        /// </summary>
        
        public int IsArmy { get; set; }
        /// <summary>
        /// 参军详情
        /// </summary>
       
        public string ArmyState { get; set; }
        /// <summary>
        /// 在外期间费用承担人
        /// </summary>
        
        public string CostBearers { get; set; }
        /// <summary>
        /// 填表经办人
        /// </summary>
        
        public string TableOpName { get; set; }
        /// <summary>
        /// 填表经办人联系电话
        /// </summary>
        
        public string TableOpTel { get; set; }
        /// <summary>
        /// 填表日期
        /// </summary>
       
        public DateTime TableDate { get; set; }
        /// <summary>
        /// 所属党派或宗教
        /// </summary>
       
        public string Party { get; set; }
        /// <summary>
        /// 国籍
        /// </summary>
        
        public string Nationality { get; set; }
        /// <summary>
        /// 结婚日期
        /// </summary>
       
        public DateTime WeddingDate { get; set; }
        /// <summary>
        /// 离婚日期
        /// </summary>
       
        public DateTime DivorceDate { get; set; }
        /// <summary>
        /// 配偶姓名
        /// </summary>
       
        public string MateName { get; set; }
        /// <summary>
        /// 配偶出生日期
        /// </summary>
       
        public DateTime MateBirthDay { get; set; }
        /// <summary>
        /// 配偶出生城市
        /// </summary>
       
        public string MateBirthCity { get; set; }
        /// <summary>
        /// 配偶出生国家省份
        /// </summary>
       
        public string MateBirthCountry { get; set; }
        /// <summary>
        /// 配偶住址
        /// </summary>
       
        public string MateAddress { get; set; }
        /// <summary>
        /// 配偶工作单位
        /// </summary>
       
        public string MateClient { get; set; }
        /// <summary>
        /// 配偶工作单位地址
        /// </summary>
       
        public string MateClientAddress { get; set; }
        /// <summary>
        /// 配偶职务
        /// </summary>
       
        public string MateJob { get; set; }
        /// <summary>
        /// 因公出访国家
        /// </summary>
       
        public string VisitCountry { get; set; }
        /// <summary>
        /// 发表的期刊/论文
        /// </summary>
       
        public string Paper { get; set; }
        /// <summary>
        /// 专利
        /// </summary>
       
        public string Papent { get; set; }
        /// <summary>
        /// 发表的博士论文
        /// </summary>
       
        public string PhD { get; set; }

       
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
       
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
    
    }

    /// <summary>
    /// 家庭成员资料修改
    /// </summary>
    public class CustomerFamily
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 客户表ID
        /// </summary>
        public int DcId { get; set; }
        /// <summary>
        /// 家庭成员称谓
        /// SetData = 40  签证客户家人称谓  读取时使用 
        /// 存储时 存储name
        /// </summary>
        public string Appellation { get; set; }
        /// <summary>
        /// 家庭成员姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 家庭成员出生日期
        /// </summary>
        public DateTime BirthDay { get; set; }
        /// <summary>
        /// 家庭成员出生地
        /// </summary>
        public string BirthPlace { get; set; }
        /// <summary>
        /// 家庭成员政治面貌
        /// </summary>
        public string Politics { get; set; }
        /// <summary>
        /// 家庭成员工作单位
        /// </summary>
        public string Client { get; set; }
        /// <summary>
        /// 家庭地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 是否欧盟公民 0否1是
        /// </summary>
        public int IsEu { get; set; }
        /// <summary>
        /// 拥有欧盟、欧洲经济区或瑞士公民身份的家庭成员姓名
        /// </summary>
        public string NameSnd { get; set; }
        /// <summary>
        /// 拥有欧盟、欧洲经济区或瑞士公民身份的家庭成员生日
        /// </summary>
        public DateTime BirthDaySnd { get; set; }
        /// <summary>
        /// 拥有欧盟、欧洲经济区或瑞士公民身份的家庭成员国籍
        /// </summary>
        public string Nationality { get; set; }
        /// <summary>
        /// 拥有欧盟、欧洲经济区或瑞士公民身份的家庭成员旅行证件编号或身份证号码
        /// </summary>
        public string IDCard { get; set; }
        /// <summary>
        /// 拥有欧盟、欧洲经济区或瑞士公民身份的家庭成员与申请人的关系
        /// </summary>
        public string Reletionship { get; set; }
        /// <summary>
        /// 家庭成员是否在美国
        /// </summary>
        public int IsUSA { get; set; }
        
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
        
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
    }
    /// <summary>
    /// 证件信息修改
    /// </summary>
    public class CustomerCerts
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 客户信息表Id
        /// </summary>
        public int DcId { get; set; }
        /// <summary>
        /// 证件类型表Id
        /// </summary>
        public int SdId { get; set; }
        /// <summary>
        /// 证件号
        /// </summary>
        public string CertNo { get; set; }
        /// <summary>
        /// 签发国
        /// </summary>
        public string Country { get; set; }

        /// <summary>
        /// 签发地区
        /// </summary>
        public string Area { get; set; }

        /// <summary>
        /// 目的地国家
        /// </summary>
        public string TargetCountry { get; set; }

        /// <summary>
        /// 有效期起始时间
        /// </summary>
        public DateTime IssueDt { get; set; }
        /// <summary>
        /// 有效期截止时间
        /// </summary>
        public DateTime ExpiryDt { get; set; }

        /// <summary>
        /// 身份证户籍地址
        /// </summary>
        public string IDCardAddress { get; set; }
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
       
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        
    }

    /// <summary>
    /// 客户工作经历表
    /// </summary>
    public class VisaCustomerCompany
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 客户表ID
        /// </summary>
        public int DcId { get; set; }
        /// <summary>
        /// 公司名称
        /// </summary>
        public string Company { get; set; }
        /// <summary>
        /// 公司地址
        /// </summary>
        public string CompanyAddress { get; set; }
        /// <summary>
        /// 公司电话
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// 职务
        /// </summary>
        public string Job { get; set; }
        /// <summary>
        /// 主管名字
        /// </summary>
        public string LeaderName { get; set; }
        /// <summary>
        /// 雇佣起始年月日
        /// </summary>
        public DateTime WorkStart { get; set; }
        /// <summary>
        /// 雇佣结束年月日
        /// </summary>
        public DateTime WorkEnd { get; set; }
        /// <summary>
        /// 工作职责及内容简述
        /// </summary>
        public string WorkState { get; set; }
       
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

    }

    /// <summary>
    /// 客户学历表
    /// </summary>
    public class VisaCustomerSchool
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 客户表ID
        /// </summary>
        public int DcId { get; set; }
        /// <summary>
        /// 学校名称和学历
        /// </summary>
        public string School { get; set; }
        /// <summary>
        /// 学校地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 指导老师
        /// </summary>
        public string Teacher { get; set; }
        /// <summary>
        /// 学历
        /// </summary>
        public string Education { get; set; }

        /// <summary>
        /// 所学课程或专业名称
        /// </summary>
        public string Subject { get; set; }
        /// <summary>
        /// 就读起始日
        /// </summary>
        public DateTime StudyStart { get; set; }
        /// <summary>
        /// 就读结束日
        /// </summary>
        public DateTime StudyEnd { get; set; }
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
    }

    public class SetCrmUpdPassIdCardOCRDto
    {
        public int UserId { get; set; }

        public string ClientName { get; set; }

        public int Sex { get; set; }

        public string CerdNo { get; set; }

        public string CerdAddress { get; set; }

        public DateTime IssueDt { get; set; }

        public DateTime ExpiryDt { get; set; }
    }
    public class CustomerDto
    {
        public int Id { get; set; }
    }

    /// <summary>
    /// 删除客户资料
    /// </summary>
    public class DeleClientDelDto
    {
        public int Id { get; set; }
        public int DeleteUserId { get; set; }
    }
    public class guestList
    {
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public string Sex { get; set; }
        /// <summary>
        /// 出身日期
        /// </summary>
        public string DOB { get; set; }

        public string Job { get; set; }
    }
}