using Hotline.Share.Dtos.FlowEngine.Workflow;
using Hotline.Share.Dtos.Hotspots;
using Hotline.Share.Dtos.Order;
using Hotline.Share.Dtos.Org;
using Hotline.Share.Enums.Article;
using Hotline.Share.Enums.KnowledgeBase;
using Hotline.Share.Enums.Planlibrary;
using XF.Utility.EnumExtensions;
namespace Hotline.Share.Dtos.Planlibrary
{
public record PlanDataDto
{
///
/// 知识ID
///
public string Id { get; set; }
///
/// 标题
///
public string Title { get; set; }
///
/// 创建人
///
public string CreatorName { get; set; }
///
/// 浏览量
///
public int PageView { get; set; }
///
/// 是否公开
///
public bool IsPublic { get; set; }
///
/// 申请部门ID
///
public string CreatorOrgId { get; set; }
///
/// 申请部门
///
public string CreatorOrgName { get; set; }
///
/// 申请时间
///
public DateTime CreationTime { get; set; }
///
/// 上架时间
///
public DateTime? OnShelfTime { get; set; }
///
/// 更新时间
///
public DateTime? UpdateTime { get; set; }
///
/// 审核时间
///
public DateTime? ExaminTime { get; set; }
///
/// 下架时间
///
public DateTime? OffShelfTime { get; set; }
///
/// 过期时间
///
public DateTime? ExpiredTime { get; set; }
///
/// 预案归属
///
public string? Attribution { get; set; }
///
/// 文档状态
///
public EPlanStatus Status { get; set; }
public EPlanStatus NewStatus => Status != EPlanStatus.Drafts && DateTime.Now > ExpiredTime ? EPlanStatus.Overdue : Status;
///
/// 文档状态名称
///
public string StatusName => NewStatus.GetDescription();
///
/// 预案分类
///
public List PlanTypes { get; set; }
///
/// 预案分类名称
///
public string PlanTypeText => GetPlanTypeText(PlanTypes);
///
/// 获取预案分类名称
///
///
public string GetPlanTypeText(List items)
{
if (PlanTypes != null && PlanTypes.Any())
{
var names = PlanTypes.Select(x => x.PlanTypeName).ToList();
return string.Join(",", names);
}
return "";
}
public HotspotDto HotspotType { get; set; }
///
/// 热点
///
public string HotspotName => HotspotType != null ? HotspotType.HotSpotFullName : string.Empty;
}
public record PlanRelationTypeDto
{
///
/// 知识库类型ID
///
public string PlanTypeId { get; set; }
///
/// 知识库类型名称
///
public string PlanTypeName { get; set; }
///
/// 知识库类型名称
///
public string PlanTypeSpliceName { get; set; }
}
}
public class PlanExistDto
{
///
/// 标题
///
public string Title { get; set; }
///
/// 内容
///
public string Content { get; set; }
///
/// ID
///
public string? Id { get; set; }
}
public class PlanInfoExportDto
{
///
/// 导入的知识Id集合
///
public string[] Ids { get; set; }
///
/// 导出格式
///
public EFileType FileType { get; set; }
}
public class PlanPageViewDto
{
public string Id { get; set; }
public string Title { get; set; }
public int PageView { get; set; }
}