using Hotline.Share.Dtos.File;
using Hotline.Share.Enums.Order;
using System.ComponentModel.DataAnnotations;

namespace Hotline.Share.Dtos.WebPortal
{
    public class WebFlowAcceptDto
    {
        /// <summary>
        /// 账号
        /// </summary>
        public string? ClientId { get; set; }

        /// <summary>
        /// 密码
        /// </summary>
        public string? ClientSecret { get; set; }

        /// <summary>
        /// 门户网站注册用户
        /// </summary>
        public string? WebUserID { get; set; }

        /// <summary>
        /// 来电/信人身份
        /// </summary>
        public EIdentityType? IdentityType { get; set; } = EIdentityType.Citizen;

        /// <summary>
        /// 工单Id
        /// </summary>
        public string? OrderId { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [Required]
        public string LKName { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public string? Sex { get; set; }

        /// <summary>
        /// 是否保密
        /// </summary>
        public string? IsSecret { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        public string? Mail { get; set; }

        /// <summary>
        /// 身份证
        /// </summary>
        public string? IDCard { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        [Required]
        public string Mobile { get; set; }

        /// <summary>
        /// 微博/微信账号
        /// </summary>
        public string? AccountNum { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string? Address { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        [Required]
        public string Title { get; set; }

        /// <summary>
        /// 信件内容
        /// </summary>
        [Required]
        public string Content { get; set; }

        /// <summary>
        /// 来源方式 APP来源为2，微信小程序来源为3，宜宾人社来源9，
        /// </summary>
        public string? FromID { get; set; }

        /// <summary>
        /// 受理类型ID
        /// </summary>
        [Required]
        public string PurTypeID { get; set; }

        /// <summary>
        /// 受理类型名称
        /// </summary>
        [Required]
        public string PurTypeName { get; set; }

        /// <summary>
        /// 热点类型ID
        /// </summary>
        public string? ConTypeID { get; set; }

        /// <summary>
        /// 信件编号
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 查询密码
        /// </summary>
        public string Pwd { get; set; }

        /// <summary>
        /// 来信IP
        /// </summary>
        public string? IP { get; set; }

        /// <summary>
        /// 微信Id
        /// </summary>
        public string? WXOpenid { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public List<FileDto>? Files { get; set; } = new();

        /// <summary>
        /// 区域编码
        /// </summary>
        public string? AreaCode { get; set; }
    }

    public class WebFlowAcceptSmsDto : WebFlowAcceptDto
    {
        /// <summary>
        /// 短信验证码
        /// </summary>
        public string SmsCode { get; set; }
    }
}
