using Microsoft.AspNetCore.Http;
using OASystem.Domain.ViewModels.Resource;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.Dtos.Resource
{
    public class OfficialActivitiesByDiIdDto: DtoBase
    {
        public int DiId { get; set; }
    }
    public class OfficialActivitiesDiIdDto
    {
        public int Id { get; set; }

        public int DiId { get; set; }
    }
    public class OpOfficialActivitiesDto
    {
        /// <summary>
        /// 操作状态
        /// 1 添加 
        /// 2 修改 
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 公务数据来源
        /// </summary>
        public int DataSource { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 团组ID
        /// </summary>
        public int DiId { get; set; }
        /// <summary>
        /// 邀请方 1  公务方 0 
        /// </summary>
        public int Type { get; set; }

        public string Client { get; set; }
        /// <summary>
        /// 公务日期
        /// </summary>
        public string Date { get; set; }
        /// <summary>
        /// 精确时间
        /// </summary>
        public string Time { get; set; }
        /// <summary>
        /// 地址
        /// </summary>
        public string Address { 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 int OfficialForm { get; set; }
        /// <summary>
        /// 公务方背景
        /// </summary>
        public string Setting { get; set; }
        /// <summary>
        /// 着装要求
        /// </summary>
        public string Dresscode { get; set; }
        /// <summary>
        /// 参会人员
        /// </summary>
        public string Attendees { get; set; }
        /// <summary>
        /// 是否需要翻译
        /// </summary>
        public int IsNeedTrans { get; set; }
        /// <summary>
        /// 翻译人员Id
        /// </summary>
        public int[] TranslatorIdItem { get; set; }
        /// <summary>
        /// 翻译语种
        /// </summary>
        public string language { get; set; }
        /// <summary>
        /// 暂定行程
        /// </summary>
        public string Trip { get; set; }
        /// <summary>
        /// 创建者Id
        /// </summary>
        public int CreateUserId { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 是否报批
        /// </summary>
        public int IsSubmitApproval { get; set; }
        /// <summary>
        /// 是否付费
        /// </summary>
        public int IsPay { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        public string Country { get; set; }

        /// <summary>
        /// 区域
        /// </summary>
        public string Area { get; set; }

        /// <summary>
        /// 涉及领域
        /// </summary>
        public string Field { get; set; }

        /// <summary>
        /// 请示范例
        /// </summary>
        public string ReqSample { get; set; }
        /// <summary>
        /// 邮箱/微信
        /// </summary>
        public string? EmailOrWeChat { get; set; }
        /// <summary>
        /// 网址
        /// </summary>
        public string? Website { get; set; }

        /// <summary>
        /// 公务性质
        /// </summary>
        public string Nature { get; set; }

        /// <summary>
        /// 翻译人员Info
        /// </summary>
        public TranslatorView? TranslatorInfo { get; set; }


    }

    public class OfficialActivitiesUploadFilesDto
    {
        public List<IFormFile> files { get; set; }
        public int id { get; set; }
        public int diId { get; set; }
        public int currUserId { get; set; }
    }

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

        public string FileName { get; set; }
    }

    public class OfficialActivitiesInviteOperationDto
    {
        public int Id { get; set; }
        /// <summary>
        /// 邀请确认
        /// 0 未确认 1 已确认
        /// </summary>
        public int Type { get; set; }
    }

    /// <summary>
    /// 导出请示参数
    /// </summary>
    public class OfficialActivitiesFileDownload
    {
        /// <summary>
        /// 文件类型
        /// 1 省外办出访请示
        /// 2 市外办出访请示
        /// </summary>
        public int FileType { get; set; } = 1;

        public int DiId { get; set; }

    }

    public class ExportOfficialActivitiesInfoDto
    {
        [Required(ErrorMessage = "请输入开始时间")]
        public string StartTime { get; set; }
        [Required(ErrorMessage = "请输入结束时间")]

        public string EndTime { get; set; }

        /// <summary>
        /// -1 All 0 未确认 1 已确认
        /// </summary>
        public int State { get; set; }
    }

    public class PostOfficialActivitiesReqReqSampleTipsDto
    {
        public string country { get; set; }

        public string area { get; set; }

        public string client { get; set; }
    }
}