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


namespace Sugar.Enties
{
    public class ViseDTO
    {
        /// <summary>
        /// 待审签证代码
        /// </summary>
        public string ViseCode { get; set; }
        /// <summary>
        /// 待审签证编号
        /// </summary>
        public string ViseId { get; set; }
        /// <summary>
        /// 待审签证名
        /// </summary>
        public string ViseName { get; set; }
        /// <summary>
        /// 签证类型
        /// </summary>
        public string ViseType { get; set; }

        private string _viseDate;
        /// <summary>
        /// 签证日期
        /// </summary>
        public string ViseDate
        {
            get
            {
                return _viseDate?.Substring(0, 10);
            }
            set => _viseDate = value;
        }

        /// <summary>
        /// 状态
        /// </summary>
        public string State { get; set; }
        /// <summary>
        /// 状态名
        /// </summary>
        public string StateName
        {
            get
            {
                int istate = Convert.ToInt32(State);
                Type type = typeof(SimpleCheckState);
                return type.GetEnumName(istate);
            }
        }


        /// <summary>
        /// 关联合同名
        /// </summary>
        public string ContractName { get; set; }
        /// <summary>
        /// 合同单号
        /// </summary>
        public string ContractCode { get; set; }
        /// <summary>
        /// 供应商名称
        /// </summary>
        public string SupplierName { get; set; }

        /// <summary>
        /// Desc:经办人代码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string Person { get; set; }
        /// <summary>
        /// 经办人名
        /// </summary>
        public string PersonName { get; set; }

        /// <summary>
        /// Desc:所属部门代码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string UnitCode { get; set; }

        /// <summary>
        /// 所属部门全称
        /// </summary>
        public string UnitFullName { get; set; }

        private string _endDate;
        /// <summary>
        /// Desc:办理期限
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string EndDate
        {
            get
            {
                return _endDate?.Substring(0, 10);
            }
            set => _endDate = value;
        }

        /// <summary>
        /// Desc:备注
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string Remark { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string Reason { get; set; }



        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ProjectCode { get; set; }



        /// <summary>
        /// Desc:审核人
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string CheckPerson { get; set; }

        private string _CheckDate;
        /// <summary>
        /// Desc:审核日期
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string CheckDate
        {
            get
            {
                return _CheckDate?.Substring(0, 10);
            }
            set => _CheckDate = value;
        }

        /// <summary>
        /// Desc:审核意见
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string CheckOpinion { get; set; }

        /// <summary>
        /// Desc:签证含税金额
        /// Default:0
        /// Nullable:True
        /// </summary>           
        public decimal? TotalCash { get; set; }

        /// <summary>
        /// Desc:币种
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string MoneyType { get; set; }

        /// <summary>
        /// Desc:汇率
        /// Default:0
        /// Nullable:True
        /// </summary>           
        public decimal? ExchangeRate { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:True
        /// </summary>           
        public decimal? TotalMoney { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ViseIdEx { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string StateEx { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? TotalCheckCash { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? TotalCheckMoney { get; set; }

        /// <summary>
        /// Desc:暂估金额
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? EstimateCash { get; set; }

        /// <summary>
        /// Desc:报送金额
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? ReportCash { get; set; }

        /// <summary>
        /// Desc:申请单号
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string RequisitionCode { get; set; }

        /// <summary>
        /// 申请单名
        /// </summary>
        public string RequisitionName { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal RateTotalCash { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal NoRateTotalCash { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal RateTotalMoney { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal NoRateTotalMoney { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal RateTotalCheckCash { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal NoRateTotalCheckCash { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal RateTotalCheckMoney { get; set; }

        /// <summary>
        /// Desc:
        /// Default:0
        /// Nullable:False
        /// </summary>           
        public decimal NoRateTotalCheckMoney { get; set; }

        /// <summary>
        /// Desc:
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? Rate { get; set; }

    }
}
