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
{
    public class Grp_Fin_CreditCardPaymentView:Grp_CreditCardPayment
    { }

    /// <summary>
    /// 团组退款/其他款项 View
    /// </summary>
    public class GroupRefundView
    {
        /// <summary>
        /// 团组Diid
        /// </summary>
        public int DIId { get; set; }
        /// <summary>
        /// 创建用户Id 
        /// </summary>
        public int CreateUserId { get; set; }

        /// <summary>
        /// 总经理审核时间
        /// </summary>
        public string? AuditGMDate { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public string? PayType { get; set; }

        /// <summary>
        /// 费用表识
        /// </summary>
        public int OrbitalPrivateTransfer { get; set; }

        /// <summary>
        /// 支付方式(设置数据外键编号)
        /// </summary>
        public int PayDid { get; set; }

        /// <summary>
        /// 收款方
        /// </summary>
        public string? Payee{ get; set; }

        /// <summary>
        /// 是否付款
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        public string? PriceName { get; set; }

        /// <summary>
        /// 费用金额
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 币种
        /// </summary>
        public string? Currency { get; set; }

        /// <summary>
        /// 付款金额
        /// </summary>
        public decimal Spread { get; set; }

        /// <summary>
        /// 当天汇率
        /// </summary>
        public decimal DayRate { get; set; }

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

    public class Grp_CreditCardPaymentView
    {
        /// <summary>
        /// 审核列表
        /// </summary>
        public List<Grp_CreditCardPaymentDetailView> DetailList { get; set; }

        public string TotalStr1 { get; set; }
        public string TotalStr2 { get; set; }
        public string TotalStr3 { get; set; }
        public string TotalStr4 { get; set; }
    }

    public class Grp_CreditCardPaymentDetailView
    {
        /// <summary>
        /// 费用Id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 费用所属
        /// </summary>
        public string PriceNameContent { get; set; }

        /// <summary>
        /// 费用明细
        /// </summary>
        public string PriceMsgContent { get; set; }

        /// <summary>
        /// 费用模块
        /// </summary>

        public string PriceName { get; set; }

        /// <summary>
        /// Bus名称
        /// </summary>
        public string BusName { get; set; }

        /// <summary>
        /// 应付款金额	
        /// </summary>
        public string WaitPay { get; set; }

        /// <summary>
        /// 此次付款金额
        /// </summary>
        public string CurrPay { get; set; }

        /// <summary>
        /// 剩余尾款
        /// </summary>
        public string Balance { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        public string OperatorName { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string AuditOperatorName { get; set; }

        /// <summary>
        /// 审核状态
        /// </summary>
        public int IsAuditGM { get; set; }

        /// <summary>
        /// 超预算比例
        /// </summary>
        public string OverBudget { get; set; }

        
    }

    public class CreditCardPaymentCurrencyPriceItem
    {
        /// <summary>
        /// 币种Id
        /// </summary>
        public int CurrencyId { get; set; }

        /// <summary>
        /// 币种Name
        /// </summary>
        public string CurrencyName { get; set; }

        /// <summary>
        /// 应付金额
        /// </summary>
        public decimal AmountPayable { get; set; }

        /// <summary>
        /// 此次付款
        /// 基本为CNY
        /// </summary>
        public decimal ThisPayment { get; set; }

        /// <summary>
        /// 剩余尾款
        /// </summary>
        public decimal BalancePayment { get; set; }

        /// <summary>
        /// 已审款项
        /// </summary>
        public decimal AuditedFunds { get; set; }
    }
}