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

namespace OASystem.Domain.ViewModels.Groups
{
    public class DelegationVisaViewList : ListViewBase<Grp_DelegationVisaView>
    {

    }

    /// <summary>
    /// 团组签证进度ViewModel
    /// IOS启用
    /// </summary>
    public class Grp_DelegationVisaView
    {
        public int RowNumber { get; set; }
        public int DiId { get; set; }
        public string TeamName { get; set; }
        public string ClientUnit { get; set; }
        public string ClientName { get; set; }
        public string TeamLev { get; set; }
        public string VisitDate { get; set; }
        public int VisitDays { get; set; }
        public int VisitPNumber { get; set; }
        public string CompletePNumber { get; set; } = "已完成0人";
    }

    public class DelegationVisaProgressView
    {
        /// <summary>
        /// ID
        /// DeleClient.ID
        /// </summary>
        public int ProgressViewId { get; set; }

        //public int RowNumber { get; set; }
        public int DiId { get; set; }
        public int CustomerId { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }

        public string Country { get; set; }
        public int StatusSign { get; set; }

        private string statusstr = "未知";
        public string StatusStr
        {
            get
            {
                switch (StatusSign)
                {
                    case 0: statusstr = "未完成"; break;
                    case 1: statusstr = "已完成"; break;
                    case 2: statusstr = "已忽略"; break;
                    default: statusstr = "未知"; break;
                }
                return statusstr;
            }
            set
            {
                this.statusstr = value;
            }
        }
        public DelegationVisaPicCountList PicCountList { get; set; }
    }

    public class DelegationVisaPicCountList
    {
        public int FirstPageCount { get; set; } = 0;
        public int DocumentsCount { get; set; } = 0;
        public int ExemptionCount { get; set; } = 0;
        public int DispatchCount { get; set; } = 0;
        public int VisaCount { get; set; } = 0;
        public int InvoiceCount { get; set; } = 0;
        public int TotalCount { get; set; } = 0;
        public void totalCount()
        {
            this.TotalCount = this.FirstPageCount + this.DocumentsCount + this.ExemptionCount + this.DispatchCount + this.VisaCount + this.InvoiceCount;
        }
    }

    public class DelegationVisaVisitCountryView
    {
        public int CountryViewId { get; set; }
        public int PersonViewId { get; set; }
        public string PicName { get; set; }
        public Entities.Groups.Enum_DelegationVisaPicType PicType { get; set; }
        public string PicPath { get; set; }
    }

    public class VisaProgressImageView
    {
        public int imageId { get; set; }
        public string url { get; set; }
        public string path { get; set; }
        public string picName { get; set; }
    }
}