using Google.Protobuf;
using Newtonsoft.Json;
using OASystem.Domain.Attributes;
using OASystem.Domain.Entities.Groups;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.ViewModels.Groups
{
    /// <summary>
    /// 接团客户名单
    /// </summary>
    public class TourClientListView:Grp_TourClientList
    {
    }

    /// <summary>
    /// 接团客户名单
    /// 根据团组Id查询List
    /// View
    /// </summary>
    public class TourClientListByDiIdView
    {
        public int Id { get; set; }

        /// <summary>
        /// 是否陪同
        /// 1 否 2 是
        /// </summary>
        public int IsAccompany { get; set; }

        /// <summary>
        /// 姓
        /// </summary>
        [Encrypted]
        public string? LastName { get; set; }

        /// <summary>
        /// 名
        /// </summary>
        [Encrypted]
        public string? FirstName { get; set; }

        /// <summary>
        /// 公司名全称
        /// </summary>
        [Encrypted]
        public string? CompanyFullName { get; set; }

        /// <summary>
        /// 职位
        /// </summary>
        [Encrypted]
        public string? Job { get; set; }

        /// <summary>
        /// 身份证No
        /// </summary>
        [Encrypted]
        public string? IDCardNo { get; set; }

        /// <summary>
        /// 性别
        /// 0 男1 女 其他值 未设置
        /// </summary>
        public int Sex { get; set; }

        public DateTime BirthDay { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string Operator { get; set; }

        /// <summary>
        /// 操作时间
        /// </summary>
        public DateTime OperatingTime { get; set; }

    }

    /// <summary>
    /// 接团客户名单
    /// 根据团组Id查询List
    /// View
    /// </summary>
    public class TourClientListDetailsView
    {
        public int Id { get; set; }

        /// <summary>
        /// 是否陪同
        /// 1 否 2 是
        /// </summary>
        public int IsAccompany { get; set; }

        /// <summary>
        /// 姓
        /// </summary>
        [Encrypted]
        public string? LastName { get; set; }

        /// <summary>
        /// 名
        /// </summary>
        [Encrypted]
        public string? FirstName { get; set; }

        /// <summary>
        /// 姓名拼音
        /// 姓/名 eg: LEI/YI
        /// </summary>
        [Encrypted]
        public string? Pinyin { get; set; }

        /// <summary>
        /// 性别
        /// 0 男1 女 其他值 未设置
        /// </summary>
        public int Sex { get; set; }

        /// <summary>
        /// 手机号
        /// </summary>
        [Encrypted]
        public string? Phone { get; set; }

        /// <summary>
        /// 公司名全称
        /// </summary>
        [Encrypted]
        public string? CompanyFullName { get; set; }

        /// <summary>
        /// 职位
        /// </summary>
        [Encrypted]
        public string? Job { get; set; }

        /// <summary>
        /// 身份证No
        /// </summary>
        [Encrypted]
        public string? IDCardNo { get; set; }

        /// <summary>
        /// 生日
        /// </summary>
        public string? BirthDay { get; set; }

        ///// <summary>
        ///// 护照类型Id(数据类型表Id)
        ///// </summary>
        //public int PassportType { get; set; }

        ///// <summary>
        ///// 护照No
        ///// </summary>
        //public string? PassportNo { get; set; }

        ///// <summary>
        ///// 签发国
        ///// </summary>
        //public string? Country { get; set; }

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

        ///// <summary>
        ///// 签发时间
        ///// </summary>
        //public string? IssueDt { get; set; }

        ///// <summary>
        ///// 有效期限
        ///// </summary>
        //public string? ExpiryDt { get; set; }

        /// <summary>
        /// 舱位类型(数据类型表Id)
        /// </summary>
        public int ShippingSpaceTypeId { get; set; }

        /// <summary>
        /// 舱位特殊需求
        /// </summary>
        public string? ShippingSpaceSpecialNeeds { get; set; }

        /// <summary>
        /// 酒店特殊需求
        /// </summary>
        public string? HotelSpecialNeeds { get; set; }

        /// <summary>
        /// 餐食特殊需求
        /// </summary>
        public string? MealSpecialNeeds { get; set; }

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

    /// <summary>
    /// 公司名称信息
    /// </summary>
    public class CustomerCompanyCiew
    {
        /// <summary>
        /// id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 公司全称
        /// </summary>
        [Encrypted]
        public string? CompanyFullName { get; set; }
    }

    public class SimplClientInfo
    {
        public int Id { get; set; }
        [Encrypted]
        public string Pinyin { get; set; }
        [Encrypted]
        public string LastName { get; set; }
        [Encrypted]
        public string FirstName { get; set; }
        [Encrypted]
        public string Phone { get;set; }
    }
}