using OASystem.Domain.Entities;
using OASystem.Domain.Entities.Resource;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.Unicode;
using System.Threading.Tasks;

namespace OASystem.Domain.ViewModels.Resource
{
    public class InvitationOfficialActivityDataView : Res_InvitationOfficialActivityData
    {
        public int Row_Number { get; set; }
        public string CreateUserName { get; set; }
        public string DelegationStr { get; set; }
    }

    public class IOAInfoView
    {
        public int Id { get; set; }

        // <summary>
        /// 邀请方国家
        /// </summary>
        public string Country { get; set; }
        /// <summary>
        /// 城市
        /// </summary>
        public string City { get; set; }
        /// <summary>
        /// 邀请方名称
        /// </summary>
        public string UnitName { get; set; }
        /// <summary>
        ///邀请方官网
        /// </summary>
        public string UnitWeb { get; set; }
        /// <summary>
        /// 涉及领域
        /// </summary>
        public string Field { get; set; }
        /// <summary>
        /// 邀请方地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 邀请方信息
        /// </summary>
        public string UnitInfo { get; set; }
        /// <summary>
        /// 联系人
        /// </summary>
        public string Contact { get; set; }
        /// <summary>
        /// 职务
        /// </summary>
        public string Job { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string Tel { get; set; }
        /// <summary>
        /// 电子邮箱
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 微信
        /// </summary>
        public string WeChat { get; set; }
        /// <summary>
        /// fb
        /// </summary>
        public string FaceBook { get; set; }
        /// <summary>
        /// ins
        /// </summary>
        public string Ins { get; set; }
        /// <summary>
        /// 团名
        /// </summary>
        public string Delegation { get; set; }

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

        /// <summary>
        /// 文件地址
        /// </summary>
        public string[] SndFileNameJsonStr
        {
            get
            {
                if (string.IsNullOrEmpty(SndFileName)) return new string[] { };

                var json = new List<string>();

                try
                {
                    json = JsonSerializer.Deserialize<List<string>>(SndFileName);
                }
                catch (Exception)
                {
                    json = new List<string>() { SndFileName };
                }

                return json.ToArray();
            }
        }
        /// <summary>
        /// 修改版文件地址
        /// </summary>
        public string[] SndFilePathItem
        {
            get
            {
                var urls = new List<string>();
                if (string.IsNullOrEmpty(SndFileName)) return urls.ToArray();

                var filePath = @$"http://132.232.92.186:24/Office/GrpFile/商邀相关文件/";
                try
                {
                    var strs = JsonSerializer.Deserialize<List<string>>(SndFileName);
                    foreach (var str in strs)
                    {
                        urls.Add(@$"{filePath}{str}");
                    }
                }
                catch (Exception ex)
                {
                    urls.Add(@$"{filePath}{SndFileName}");
                }
                return urls.ToArray();
            }
        }

        /// <summary>
        /// 传真号码
        /// </summary>
        public string Fax { get; set; }

        /// <summary>
        /// 其他信息
        /// </summary>
        public string OtherInfo { get; set; }

        /// <summary>
        /// 背景
        /// </summary>
        public string Background { get; set; }

        public string Remark { get; set; }
    }

}