using EyeSoft.Collections.Generic;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.ViewModels.Groups
{
    public class InvitationOfficialActivitiesView
    {
        /// <summary>
        /// 主键Id
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 团组Id
        /// </summary>
        public int DiId { get; set; }
        /// <summary>
        /// 邀请方地区
        /// </summary>
        public string InviterArea { get; set; }
        /// <summary>
        /// 邀请方
        /// </summary>
        public string Inviter { get; set; }
        /// <summary>
        /// 邀请时间
        /// </summary>
        public DateTime InviteTime { get; set; }

        /// <summary>
        /// 邀请费用
        /// </summary>
        public decimal InviteCost { get; set; }

        /// <summary>
        /// 邀请费用币种
        /// </summary>
        public string? InviteCurrency { get; set; }

        /// <summary>
        /// 快递费用
        /// </summary>
        public decimal SendCost { get; set; }

        /// <summary>
        /// 快递费用币种
        /// </summary>
        public string? SendCurrency { get; set; }

        /// <summary>
        /// 公务活动费
        /// </summary>
        public decimal EventsCost { get; set; }

        /// <summary>
        /// 公务活动费币种
        /// </summary>
        public string? EventsCurrency { get; set; }

        /// <summary>
        /// 公务翻译费
        /// </summary>
        public decimal TranslateCost { get; set; }

        /// <summary>
        /// 公务翻译费币种
        /// </summary>
        public string? TranslateCurrency { get; set; }

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

        /// <summary>
        /// 付款币种
        /// </summary>
        public string? PaymentCurrency { get; set; }

        /// <summary>
        /// 是否到场
        /// </summary>
        public int IsGoOfficaiaBussiness { get; set; }

        /// <summary>
        /// 文件地址
        /// </summary>
        public string Attachment { get; set; }


        /// <summary>
        /// 附件
        /// </summary>
        public string[] Attachments
        {
            get
            {
                var array = new string[] { };

                if (!string.IsNullOrEmpty(Attachment))
                {
                    try
                    {
                        array = JsonConvert.DeserializeObject<string[]>(Attachment);
                    }
                    catch (Exception)
                    {
                        array = new List<string>() { Attachment }.ToArray();
                    }
                }
                return array;
            }
        }

        /// <summary>
        /// 是否审核
        /// </summary>
        public int IsAudit { get; set; }

        public int IsPay { get; set; }
    }
}