using OASystem.Domain.Attributes;
using Org.BouncyCastle.Asn1.Ocsp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Google.Protobuf.Reflection.SourceCodeInfo.Types;

namespace OASystem.Domain.Entities.Customer
{
    /// <summary>
    /// 新客户资料表
    /// </summary>
    [SugarTable("Crm_NewClientData")]
    public class Crm_NewClientData : EntityBase
    {
        private int number;
        private int lvlid;
        private string client;
        private string weight;
        private string clientshort;
        private string contact;
        private int gender;
        private string passport;
        private DateTime? passportDate;
        private string job;
        private string telephone;
        private string phone;
        private string email;
        private string location;
        private string address;
        private string birthday;
        private string otherinfo;
        private string wechat;
        private int category;
        private int predele;
        private int finlishedDele;
        private int lastUpdateUserId;
        private DateTime lastUpdateTime;

        /// <summary>
        /// 序号
        /// </summary>
        [SugarColumn(ColumnDescription = "序号", IsNullable = true, ColumnDataType = "int")]
        public int Number { get => number; set => number = value; }

        /// <summary>
        /// 地市州Id
        /// </summary>
        [Description("客户区域")]
        [SugarColumn(ColumnDescription = "客户区域", IsNullable = true, ColumnDataType = "int")]
        public int Lvlid { get => lvlid; set => lvlid = value; }

        /// <summary>
        /// 客户单位
        /// </summary>
        [Encrypted]
        [Description("客户单位")]
        [SugarColumn(ColumnDescription = "客户单位", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Client { get => client; set => client = value; }

        /// <summary>
        /// 权重
        /// </summary>
        [Encrypted]
        [Description("权重")]
        [SugarColumn(ColumnDescription = "权重", IsNullable = true, ColumnDataType = "nvarchar(100)")]
        public string Weight { get => weight; set => weight = value; }

        /// <summary>
        /// 客户单位简写
        /// </summary>
        [Encrypted]
        [Description("客户单位简写")]
        [SugarColumn(ColumnDescription = "客户单位简写", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string ClientShort { get => clientshort; set => clientshort = value; }

        /// <summary>
        /// 联系人
        /// </summary>
        [Encrypted]
        [Description("联系人")]
        [SugarColumn(ColumnDescription = "联系人", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Contact { get => contact; set => contact = value; }

        /// <summary>
        /// 联系人性别
        /// </summary>
        [Description("性别")]
        [SugarColumn(ColumnDescription = "性别", IsNullable = true, ColumnDataType = "int")]
        public int Gender { get => gender; set => gender = value; }

        /// <summary>
        /// 护照
        /// </summary>
        [Encrypted]
        [Description("护照")]
        [SugarColumn(ColumnDescription = "护照", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Passport { get => passport; set => passport = value; }

        /// <summary>
        /// 护照日期
        /// </summary>
        [Description("护照日期")]
        [SugarColumn(ColumnDescription = "护照日期", IsNullable = true, ColumnDataType = "DateTime")]
        public DateTime? PassportDate { get => passportDate; set => passportDate = value; }

        /// <summary>
        /// 职位
        /// </summary>
        [Encrypted]
        [Description("职位")]
        [SugarColumn(ColumnDescription = "职位", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Job { get => job; set => job = value; }

        /// <summary>
        /// 联系手机号
        /// </summary>
        [Encrypted]
        [Description("手机号")]
        [SugarColumn(ColumnDescription = "手机号", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Telephone { get => telephone; set => telephone = value; }

        /// <summary>
        /// 联系座机号
        /// </summary>
        [Encrypted]
        [Description("座机号")]
        [SugarColumn(ColumnDescription = "座机号", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Phone { get => phone; set => phone = value; }

        /// <summary>
        /// 邮件
        /// </summary>
        [Encrypted]
        [Description("邮件")]
        [SugarColumn(ColumnDescription = "邮件", IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Email { get => email; set => email = value; }

        /// <summary>
        /// 所属区域(所在城市)
        /// </summary>
        [Encrypted]
        [Description("所在城市")]
        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
        public string Location { get => location; set => location = value; }

        /// <summary>
        /// 地址
        /// </summary>
        [Encrypted]
        [Description("具体地址")]
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(80)")]
        public string Address { get => address; set => address = value; }

        /// <summary>
        /// 生日
        /// </summary>
        [Encrypted]
        [Description("生日信息")]
        [SugarColumn(IsNullable = true, ColumnDataType = "string")]
        public string Birthday { get => birthday; set => birthday = value; }

        /// <summary>
        /// 其他信息
        /// </summary>
        [Encrypted]
        [Description("备注")]
        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
        public string OtherInfo { get => otherinfo; set => otherinfo = value; }

        /// <summary>
        /// 微信
        /// </summary>
        [Encrypted]
        [Description("微信")]
        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(200)")]
        public string Wechat { get => wechat; set => wechat = value; }

        /// <summary>
        /// 分类
        /// </summary>
        [Description("业务归属")]
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int Category { get => category; set => category = value; }

        /// <summary>
        /// 预计出团
        /// </summary>
        [Description("今年预计出团")]
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int PreDele { get => predele; set => predele = value; }

        /// <summary>
        /// 已出团
        /// </summary>
        [Description("今年已出团")]
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int FinlishedDele { get => finlishedDele; set => finlishedDele = value; }

        /// <summary>
        /// 最后更新者Id
        /// </summary>
        [SugarColumn(ColumnDescription = "最后更新者Id", IsNullable = true, ColumnDataType = "int")]
        public int LastUpdateUserId { get => lastUpdateUserId; set => lastUpdateUserId = value; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        [SugarColumn(ColumnDescription = "最后更新时间", IsNullable = true, ColumnDataType = "DateTime")]
        public DateTime LastUpdateTime { get => lastUpdateTime; set => lastUpdateTime = value; }
    }
}