using Hotline.Share.Dtos.File;
using Hotline.Share.Requests;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hotline.Share.Dtos.Order
{
    public class OrderSuperviseDto : SuperviseOrderDto
    {
        /// <summary>
        /// 附件列表
        /// </summary>
        public List<FileDto> Files { get; set; } = new();

        /// <summary>
        /// 附件列表
        /// </summary>
        public List<FileDto> ReplyFiles { get; set; } = new();
    }

    public class ApplyOrderSuperviseDto
    {
        /// <summary>
        /// 工单ID
        /// </summary>
        public string OrderId { get; set; }

        public List<ApplyOrderSuperviseOrgDto> SuperviseOrgDtos { get; set; }

        /// <summary>
        /// 督办回复时限
        /// </summary>
        public DateTime ReplyLimitTime { get; set; }

        /// <summary>
        /// 督办申请内容
        /// </summary>
        public string ApplyContent { get; set; }

        /// <summary>
        /// 是否接受短信，勾选校验手机号
        /// </summary>
        public bool AcceptSms { get; set; }

        /// <summary>
        /// 督办省编号
        /// </summary>
        public string? SUPERVISE_SERIAL { get; set; }

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

        /// <summary>
        /// 旅游督办手机号
        /// </summary>
        public string? PhoneNo { get; set; }

    }
    public class ReplyOrderSuperviseDto
    {

        public string Id { get; set; }

        /// <summary>
        /// 督办回复内容
        /// </summary>
        public string ReplyContent { get; set; }


        /// <summary>
        /// 回复人
        /// </summary>
        public string? ReplyId { get; set; }

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

    public class SignOrderSuperviseDto
    {
        public string Id { get; set; }
    }

    public class ApplyOrderSuperviseOrgDto
    {
        /// <summary>
        /// 被督办部门ID
        /// </summary>
        public string OrgId { get; set; }

        /// <summary>
        /// 被督办部门名称
        /// </summary>
        public string OrgName { get; set; }

    }


    public class ProvinceOrderSuperviseDto
    {
        /// <summary>
        /// 督办编号
        /// </summary>
        public string SuperviseSerial { get; set; }

        /// <summary>
        /// 省工单编号
        /// </summary>
        public string CaseSerial { get; set; }

        /// <summary>
        /// 督办标题
        /// </summary>
        public string SuperviseTitle { get; set; }

        /// <summary>
        /// 督办内容
        /// </summary>
        public string SuperviseContent { get; set; }

        /// <summary>
        /// 督办发起人
        /// </summary>
        public string SupervisePerson { get; set; }

        /// <summary>
        /// 督办发起时间
        /// </summary>
        public DateTime SuperviseTime { get; set; }

        /// <summary>
        /// 督办发起单位
        /// </summary>
        public string SuperviseSendDept { get; set; }

        /// <summary>
        /// 被督办单位
        /// </summary>
        public string SuperviseRsvDept { get; set; }

        /// <summary>
        /// 督办类型
        /// </summary>
        public string SuperviseType { get; set; }

        /// <summary>
        /// 督办反馈截止时间
        /// </summary>
        public DateTime SuperviseReturnDate { get; set; }

        /// <summary>
        /// 行政区划代码
        /// </summary>
        public string AreaCode { get; set; }

        /// <summary>
        /// 附件列表
        /// </summary>
        public List<FileDto> Files { get; set; } = new();
    }
    public class PublishSuperviseDto
    {
        // <summary>
        /// 工单对象
        /// </summary>
        public OrderDto Order { get; set; }


        public SuperviseOrderDto Supervise { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public string ClientGuid { get; set; }
    }

}
