using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Hotline.KnowledgeBase;
using Hotline.Share.Dtos.Users;
using XF.Utility.EnumExtensions;

namespace Hotline.Share.Dtos.Knowledge
{
    public class KnowledgeApproveDto
    {
        /// <summary>
        /// 知识Id
        /// </summary>
        public string KnowledgeId { get; set; }

        /// <summary>
        /// 审核类型
        /// </summary>
        public EKnowledgeApproveType KnowledgeApproveType { get; set; }

        public string KnowledgeApproveTypeText => KnowledgeApproveType.GetDescription();

        /// <summary>
        /// 审核状态
        /// </summary>
        public EKnowledgeApproveStatus KnowledgeApproveStatus { get; set; }
        public string KnowledgeApproveStatusText => KnowledgeApproveStatus.GetDescription();

        /// <summary>
        /// 审批发起意见
        /// </summary>
        public string? CreateOpinion { get; set; }

        /// <summary>
        /// 审批人Id
        /// </summary>
        public string? ApproverId { get; set; }

        /// <summary>
        /// 审核意见
        /// </summary>
        public string? ApproveOpinion { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ApproveTime { get; set; }

        public string Id { get; set; }

        public string? CreatorId { get; set; }

        public string? CreatorName { get; set; }

        public string? CreatorOrgId { get; set; }

        public string? CreatorOrgName { get; set; }

        public int CreatorOrgLevel { get; set; }

        public DateTime CreationTime { get; set; }


        public KnowledgeDto Knowledge { get; set; }

        /// <summary>
        /// 审批人
        /// </summary>
        public UserDto Approver { get; set; }
    }
}
