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

namespace OASystem.Domain.ViewModels.Financial
{
    /// <summary>
    /// 团组应收款项 View
    /// </summary>
    public class Fin_ForeignReceivablesView:Fin_ForeignReceivables
    {
    }

    /// <summary>
    /// 团组应收款项 info View
    /// </summary>
    public class ForeignReceivablesInfoView 
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        public int Id { get; set; }

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

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

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

        /// <summary>
        /// 数量
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 单项总和
        /// </summary>
        public decimal ItemSumPrice { get; set; }

        /// <summary>
        /// 付款方
        /// </summary>
        public string? To { get; set; }

        /// <summary>
        /// 付款方电话
        /// </summary>
        public string? ToTel { get; set; }

        /// <summary>
        /// 付款日期
        /// </summary>
        public string? PayDate { get; set; }

        /// <summary>
        /// 付款注意事项
        /// </summary>
        public string? Attention { get; set; }

        /// <summary>
        /// 汇率
        /// </summary>
        public decimal Rate { get; set; }

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

        /// <summary>
        /// 添加方式   
        /// 0 - 账单页面添加   1 - 预算成本页面添加
        /// </summary>
        public int AddingWay { get; set; }

        /// <summary>
        /// 添加方式描述
        /// </summary>
        public string? AddingModeName
        {
            get
            {

                string str = "";
                if (AddingWay == 0) str = "账单模块";
                else if (AddingWay == 1) str = "成本预算模块";

                return str;
            }
        }

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

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

    /// <summary>
    /// 团组应收款项 含已收款项
    /// </summary>
    public class ForeignReceivablesView : ForeignReceivablesInfoView
    {
        /// <summary>
        /// 对应收款账单Id
        /// 已收款项 信息
        /// </summary>
        public List<ProceedsReceivedView>? _ProceedsReceivedDatas { get; set; }
    }


    #region 不关联已收账单

    /// <summary>
    /// 团组已收款项Info View
    /// </summary>
    public class ProceedsReceivedNewView
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        public int Id { get; set; }

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

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

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

        /// <summary>
        /// 数量
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 单项总和
        /// </summary>
        public decimal ItemSumPrice { get; set; }

        /// <summary>
        /// 付款方
        /// </summary>
        public string? To { get; set; }

        /// <summary>
        /// 付款方电话
        /// </summary>
        public string? ToTel { get; set; }

        /// <summary>
        /// 付款日期
        /// </summary>
        public string? PayDate { get; set; }

        /// <summary>
        /// 付款注意事项
        /// </summary>
        public string? Attention { get; set; }

        /// <summary>
        /// 汇率
        /// </summary>
        public decimal Rate { get; set; }

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

        /// <summary>
        /// 添加方式   
        /// 0 - 账单页面添加   1 - 预算成本页面添加
        /// </summary>
        public int AddingWay { get; set; }

        /// <summary>
        /// 添加方式描述
        /// </summary>
        public string? AddingModeName
        {
            get
            {

                string str = "";
                if (AddingWay == 0) str = "账单模块";
                else if (AddingWay == 1) str = "成本预算模块";

                return str;
            }
        }

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

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



    #endregion
}
