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

namespace Hotline.Share.Dtos.Knowledge
{
	public class KnowledgeWordDto : KnowledgeWordBaseDto
	{
		/// <summary>
		/// 标签
		/// </summary>
		public string Tag { get; set; }

		/// <summary>
		/// 分类
		/// </summary>
		public string Classify { get; set; }

		/// <summary>
		/// 近义词
		/// </summary>
		public string? Synonym { get; set; }

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

		/// <summary>
		/// 更新人
		/// </summary>
		public string? LastModificationName { get; set; }

		/// <summary>
		/// 启禁用
		/// </summary>
		public int IsEnable { get; set; }
	}

	public class KnowledgeWordAddDto
	{
		/// <summary>
		/// 标签
		/// </summary>
		public string Tag { get; set; }

		/// <summary>
		/// 分类
		/// </summary>
		public string Classify { get; set; }

		/// <summary>
		/// 近义词
		/// </summary>
		public string? Synonym { get; set; }

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

		/// <summary>
		/// 启禁用
		/// </summary>
		public int IsEnable { get; set; }
	}

	public class KnowledgeWordDeleteDto
	{
		public List<string> Ids { get; set; }
	}

	public class KnowledgeWordUpdateDto : KnowledgeWordAddDto
	{
		public string Id { get; set; }
	}

	public record KnowledgeWordListDto : PagedKeywordRequest
	{
		/// <summary>
		/// 标签
		/// </summary>
		public string? Tag { get; set; }

		/// <summary>
		/// 分类
		/// </summary>
		public string? Classify { get; set; }

		/// <summary>
		/// 近义词
		/// </summary>
		public string? Synonym { get; set; }

		/// <summary>
		/// 启禁用  1  启用  0 禁用
		/// </summary>
		public int? IsEnable { get; set; }
	}
	public class KnowledgeWordBaseDto
	{
		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; }
	}
}
