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 AddOrderAnalysisDto
	{
		/// <summary>
		/// 报告名称
		/// </summary>
		public string AnalysisName { get; set; }

		/// <summary>
		/// 备注
		/// </summary>
		public string? Remark { get; set; }

		/// <summary>
		/// 开始时间
		/// </summary>
		public DateTime? StartTime { get; set; }

		/// <summary>
		/// 结束时间
		/// </summary>
		public DateTime? EndTime { get; set; }

		/// <summary>
		///  多选对象
		/// </summary>
		public List<AddOrderAnalysisListDto> AnalysisList { get; set; }
	}

	public class AddOrderAnalysisListDto {
		/// <summary>
		/// 受理类型
		/// </summary>
		public string AcceptType { get; set; }

		/// <summary>
		/// 受理类型
		/// </summary>
		public string AcceptTypeCode { get; set; }

		/// <summary>
		/// 热点
		/// </summary>
		public string HotspotId { get; set; }

		/// <summary>
		/// 热点
		/// </summary>
		public string HotspotName { get; set; }

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

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

	public class DeleteOrderAnalysisDto 
	{
		/// <summary>
		/// 报告id
		/// </summary>
		public List<string> AnalysisIds { get; set; }
	}

	public class UpdateOrderAnalysisDto
	{
		/// <summary>
		/// 报告id
		/// </summary>
		public string AnalysisId { get; set; }

		/// <summary>
		/// 报告名称
		/// </summary>
		public string AnalysisName { get; set; }

		/// <summary>
		/// 备注
		/// </summary>
		public string? Remark { get; set; }
	}
	public class OrderAnalysisBaseDto
	{
		public DateTime? LastModificationTime { get; set; }

		public bool IsDeleted { get; set; }

		/// <summary>
		/// 删除时间
		/// </summary>
		public DateTime? DeletionTime { get; set; }


		/// <summary>
		/// 创建时间
		/// </summary>
		public DateTime CreationTime { get; set; }

		public string Id { get; set; }

		/// <summary>
		/// 组织Id
		/// </summary>
		public string? CreatorOrgId { get; set; }


		public string? CreatorOrgName { get; set; }

		/// <summary>
		/// 创建人
		/// </summary>
		public string? CreatorId { get; set; }

		public string? CreatorName { get; set; }
	}

	public class OrderAnalysisDto  {


		/// <summary>
		/// 报告id
		/// </summary>
		public string AnalysisId { get; set; }

		/// <summary>
		/// 报告名称
		/// </summary>
		public string AnalysisName { get; set; }

		/// <summary>
		/// 备注
		/// </summary>
		public string? Remark { get; set; }

		/// <summary>
		/// 生成时间
		/// </summary>
		public DateTime? GeneratedTime { get; set; }

	}

	public record OrderAnalysisListDto : PagedKeywordRequest {

		/// <summary>
		/// 报告名称
		/// </summary>
		public string AnalysisName { get; set; }

		/// <summary>
		/// 生成时间
		/// </summary>
		public DateTime? GeneratedStartTime { get; set; }

		/// <summary>
		/// 结束时间
		/// </summary>
		public DateTime? GeneratedEndTime { get; set; }
	}

	public record OrderAnalysisDetailDto : PagedKeywordRequest
	{
		public string AnalysisId { get; set; }
	}

}
