123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- using Hotline.Share.Dtos.Hotspots;
- using Hotline.Share.Dtos.Users;
- using Hotline.Share.Enums.Article;
- using Hotline.Share.Enums.Caselibrary;
- using XF.Utility.EnumExtensions;
- namespace Hotline.Share.Dtos.Caselibrary
- {
- public record CaseDataDto
- {
- /// <summary>
- /// 案例ID
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 创建人
- /// </summary>
- public string CreatorName { get; set; }
- /// <summary>
- /// 浏览量
- /// </summary>
- public int PageView { get; set; }
- /// <summary>
- /// 是否热门
- /// </summary>
- public bool IsPopular { get; set; }
- /// <summary>
- /// 申请部门ID
- /// </summary>
- public string CreatorOrgId { get; set; }
- /// <summary>
- /// 申请部门
- /// </summary>
- public string CreatorOrgName { get; set; }
- /// <summary>
- /// 申请时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 上架时间
- /// </summary>
- public DateTime? OnShelfTime { get; set; }
- /// <summary>
- /// 更新时间
- /// </summary>
- public DateTime? UpdateTime { get; set; }
- /// <summary>
- /// 审核时间
- /// </summary>
- public DateTime? ExaminTime { get; set; }
- /// <summary>
- /// 下架时间
- /// </summary>
- public DateTime? OffShelfTime { get; set; }
- /// <summary>
- /// 过期时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 审核意见
- /// </summary>
- public string? ExaminOpinion { get; set; }
- /// <summary>
- /// 审核人ID
- /// </summary>
- public string? ExaminManId { get; set; }
- /// <summary>
- /// 审核人
- /// </summary>
- public UserDto? ExaminMan { get; set; }
- /// <summary>
- /// 文档状态
- /// </summary>
- public ECaseStatus Status { get; set; }
- public ECaseStatus NewStatus => Status != ECaseStatus.Drafts && DateTime.Now > ExpiredTime ? ECaseStatus.Overdue : Status;
- /// <summary>
- /// 文档状态名称
- /// </summary>
- public string StatusName => NewStatus.GetDescription();
- /// <summary>
- /// 案例状态申请
- /// </summary>
- public ECaseApplyStatus? ApplyStatus { get; set; }
- /// <summary>
- /// 案例分类
- /// </summary>
- public List<CaseRelationTypeDto> CaseTypes { get; set; }
- /// <summary>
- /// 案例分类名称
- /// </summary>
- public string CaseTypeText => GetCaseTypeText(CaseTypes);
- /// <summary>
- /// 获取案例分类名称
- /// </summary>
- /// <returns></returns>
- public string GetCaseTypeText(List<CaseRelationTypeDto> items)
- {
- if (CaseTypes != null && CaseTypes.Any())
- {
- var names = CaseTypes.Select(x => x.CaseTypeName).ToList();
- return string.Join(",", names);
- }
- return "";
- }
- public HotspotDto HotspotType { get; set; }
- /// <summary>
- /// 热点
- /// </summary>
- public string HotspotName => HotspotType != null ? HotspotType.HotSpotFullName : string.Empty;
- }
- public record CaseRelationTypeDto
- {
- /// <summary>
- /// 案例库类型ID
- /// </summary>
- public string CaseTypeId { get; set; }
- /// <summary>
- /// 案例库类型名称
- /// </summary>
- public string CaseTypeName { get; set; }
- /// <summary>
- /// 案例库类型名称
- /// </summary>
- public string CaseTypeSpliceName { get; set; }
- }
- }
- public class CaseExistDto
- {
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 摘要
- /// </summary>
- public string Abstract { get; set; }
- /// <summary>
- /// 案例描述
- /// </summary>
- public string Describe { get; set; }
- /// <summary>
- /// 案例结果
- /// </summary>
- public string Result { get; set; }
- /// <summary>
- /// 推荐理由
- /// </summary>
- public string Reason { get; set; }
- /// <summary>
- /// ID
- /// </summary>
- public string? Id { get; set; }
- }
- public class CaseInfoExportDto
- {
- /// <summary>
- /// 导出的案例Id集合
- /// </summary>
- public string[] Ids { get; set; }
- /// <summary>
- /// 导出格式
- /// </summary>
- public EFileType FileType { get; set; }
- }
- public class CasePageViewDto
- {
- public string Id { get; set; }
- public string Title { get; set; }
- public int PageView { get; set; }
- }
|