using OASystem.Domain.Entities.Groups;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.ViewModels.Groups
{
    /// <summary>
    /// 倒推表 View
    /// </summary>
    public class InvertedListView:Grp_InvertedList
    {
    }

    /// <summary>
    /// 倒推表详情 View 
    /// A - 自然日  B-国内工作日
    /// </summary>
    public class InvertedListInfoView
    {
        /// <summary>
        /// 查询标识
        /// true 需提醒客户该团未创建倒推表
        /// </summary>
        public bool IsQuery { get; set; } = false;

        public int Id { get; set; }

        /// <summary>
        /// 团组Id
        /// </summary>
        public int DiId { get; set; }

        /// <summary>
        /// 报批资料准备时间 - A
        /// </summary>
        public string ApprovalDataDt { get; set; }

        /// <summary>
        /// 报批资料准备
        /// 是否完成
        /// </summary>
        public int IsApprovalData { get; set; }

        /// <summary>
        /// 报批资料准备 
        /// 备注
        /// </summary>
        public string ApprovalDataRemark { get; set; } = "准备报批资料(包括:邀请函,请示,报批行程,报批费用)";

        /// <summary>
        /// 报批时间 - A
        /// </summary>
        public string ApprovalDt { get; set; }

        /// <summary>
        /// 报批时间
        /// 1 预批件 2 正常批件 默认值??-1
        /// </summary>
        public int ApprovalType { get; set; }

        /// <summary>
        /// 报批
        /// 是否完成
        /// </summary>
        public int IsApproval { get; set; }

        /// <summary>
        /// 报批 
        /// 备注
        /// </summary>
        public string ApprovalRemark { get; set; } = "客户准备报批资料并递交到省外办,同时我司开始收集客户签证需要的资料";

        /// <summary>
        /// 出批件时间 - A
        /// </summary>
        public string IssueApprovalDt { get; set; }

        /// <summary>
        /// 出批件
        /// 是否完成
        /// </summary>
        public int IsIssueApproval { get; set; }

        /// <summary>
        /// 出批件时间 
        /// 备注
        /// </summary>
        public string IssueApprovalRemark { get; set; } = "出预批件、制作护照-护照出";

        /// <summary>
        /// 办护照时间 - B
        /// </summary>
        public string ApplyPassportDt { get; set; }

        /// <summary>
        /// 办护照
        /// 是否完成
        /// </summary>
        public int IsApplyPassport { get; set; }

        ///// <summary>
        ///// 办护照 
        ///// 备注
        ///// </summary>
        //public string ApplyPassportRemark { get; set; } = "制作护照-护照出";

        /// <summary>
        /// 签证资料准备时间
        /// </summary>
        public string VisaInformationDt { get; set; }

        /// <summary>
        /// 签证资料准备
        /// 是否完成
        /// </summary>
        public int IsVisaInformation { get; set; }

        /// <summary>
        /// 签证资料准备 
        /// 备注
        /// </summary>
        public string VisaInformationRemark { get; set; } = "汇总客户签证信息,准备送签资料";

        /// <summary>
        /// 签证国家信息
        /// </summary>
        public List<VisaCountryInfo> VisaCountryData { get; set; }

        /// <summary>
        /// 送签时间 - B
        /// </summary>
        public string SendVisaDt { get; set; }

        /// <summary>
        /// 送签
        /// 是否完成
        /// </summary>
        public int IsSendVisa { get; set; }

        /// <summary>
        /// 送签 
        /// 备注
        /// </summary>
        public string SendVisaRemark { get; set; } = "签证周期暂无或免签\r\n(签证周期仅供参考)";

        /// <summary>
        /// 出签时间 - B
        /// </summary>
        public string IssueVisaDt { get; set; }

        /// <summary>
        /// 出签
        /// 是否完成
        /// </summary>
        public int IsIssueVisa { get; set; }

        /// <summary>
        /// 出签 
        /// 备注
        /// </summary>
        public string IssueVisaRemark { get; set; } = "外办领取签证";

        /// <summary>
        /// 行前会 - A
        /// </summary>
        public string PreTripMeetingDt { get; set; }

        /// <summary>
        /// 行前会
        /// 是否完成
        /// </summary>
        public int IsPreTripMeeting { get; set; }

        /// <summary>
        /// 行前会 
        /// 备注
        /// </summary>
        public string PreTripMeetingRemark { get; set; } = "开行前会为出访人员交代细节";

        /// <summary>
        /// 送机 - A
        /// </summary>
        public string AirportdDropOffDt{ get; set; }

        /// <summary>
        /// 送机
        /// 是否完成
        /// </summary>
        public int IsAirportdDropOff { get; set; }

        /// <summary>
        /// 送机 
        /// 备注
        /// </summary>
        public string AirportdDropOffRemark { get; set; } = "为出访人员办理登机服务及行李打包等";

    }
    /// <summary>
    /// 签证国家信息
    /// </summary>
    public class VisaCountryInfo
    {
        public int Id { get; set; }

        /// <summary>
        /// 倒推表Id
        /// </summary>
        public int ILId { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        public string Country { get; set; }

        /// <summary>
        /// 公务类型ID 
        /// </summary>
        public int OfficialTypeId { get; set; }

        /// <summary>
        /// 签证类型ID 
        /// </summary>
        public int VisaTypeId { get; set; }

        /// <summary>
        /// 签证时间(工作日) 
        /// </summary>
        public int VisaDay { get; set; }
    }
}