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 OrderUrgeAddDto
    {
        /// <summary>
        /// 工单ID
        /// </summary>
        public List<string> OrderIds { get; set; }

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

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

    }

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

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


		public List<ApplyUrgeOrgDto> UrgeOrgDtos { get; set; } = new List<ApplyUrgeOrgDto>();

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

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

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

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

	public class BatchApplyOrderUrgeDto {
		public List<ApplyOrderUrgeDto> applyOrderUrges { get; set; }
	} 
	public class ReplyOrderUrgeDto 
	{

		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 SignOrderUrgeDto 
	{
		public string Id { get; set; }
	}

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

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

	}

    public class PublishUrgeDto
	{
		// <summary>
		/// 工单对象
		/// </summary>
		public OrderDto Order { get; set; }

		public UrgeOrderDto Urge { get; set; }

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