using Hotline.Share.Enums.Article;
using Hotline.Share.Requests;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XF.Utility.EnumExtensions;
namespace Hotline.Share.Dtos.Article
{
public record BulletinDto
{
public string Id { get; set; }
public DateTime CreationTime { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string BulletinTypeId { get; set; }
public string BulletinTypeName { get; set; }
///
/// 阅读量
///
public int ReadedNum { get; set; }
///
/// 通知时间
///
public DateTime? BulletinTime { get; set; }
///
/// 失效时间
///
public DateTime LoseEfficacyTime { get; set; }
///
/// 公告状态
///
public EBulletinState BulletinState { get; set; }
///
/// 流程ID
///
public string? WorkflowId { get; set; }
///
/// 发布范围(多选) 位枚举 EPushRange
///
public List PushRanges { get; set; }
///
/// 来源单位ID
///
public string SourceOrgId { get; set; }
///
/// 来源单位名称
///
public string SourceOrgName { get; set; }
///
/// 组织Id
///
public string? CreatorOrgId { get; set; }
public string? CreatorOrgName { get; set; }
///
/// 创建人
///
public string? CreatorId { get; set; }
public string? CreatorName { get; set; }
public string BulletinStateText => BulletinState.GetDescription();
public string PushRangesText => PushRanges.Any() ? string.Join("、", PushRanges.Select(x => x.Value)) : "-";
}
public record CircularDto
{
public string Id { get; set; }
public DateTime CreationTime { get; set; }
///
/// 标题
///
public string Title { get; set; }
///
/// 内容
///
public string Content { get; set; }
///
/// 通知类型
///
public string CircularTypeId { get; set; }
///
/// 通知类型名称
///
public string CircularTypeName { get; set; }
///
/// 是否必读
///
public bool IsMustRead { get; set; }
///
/// 通知对象
///
public ECircularType CircularType { get; set; }
public string CircularTypeText => CircularType.GetDescription();
///
/// 通知时间
///
public DateTime? CircularTime { get; set; }
///
/// 失效时间
///
public DateTime LostEfficacyTime { get; set; }
///
/// 通知状态
///
public ECircularState CircularState { get; set; }
public string CircularStateText => CircularState.GetDescription();
///
/// 来源单位ID
///
public string SourceOrgId { get; set; }
///
/// 来源单位名称
///
public string SourceOrgName { get; set; }
///
/// 需要阅读数量
///
public int NeedReadNum { get; set; }
///
/// 已读数量
///
public int ReadedNum { get; set; }
///
/// 流程ID
///
public string? WorkflowId { get; set; }
///
/// 阅读明细
///
public List CircularReadGroups { get; set; }
}
public record CircularReadGroupDto
{
public string? CircularId { get; set; }
public string? UserId { get; set; }
public string? UserName { get; set; }
public string? OrgId { get; set; }
public string? OrgName { get; set; }
public bool? IsRead { get; set; }
public DateTime? ReadTime { get; set; }
public bool? IsTimeOut { get; set; }
}
public record AddCircularDto
{
///
/// 标题
///
public string Title { get; set; }
///
/// 内容
///
public string Content { get; set; }
///
/// 通知类型
///
public string CircularTypeId { get; set; }
///
/// 通知类型名称
///
public string CircularTypeName { get; set; }
///
/// 通知对象
///
public ECircularType CircularType { get; set; }
///
/// 是否必读
///
public bool IsMustRead { get; set; }
///
/// 失效时间
///
public DateTime LostEfficacyTime { get; set; }
///
/// 来源单位ID
///
public string SourceOrgId { get; set; }
///
/// 来源单位名称
///
public string SourceOrgName { get; set; }
public List CircularReadGroups { get; set; }
}
public record AddBulletinDto
{
///
/// 标题
///
public string Title { get; set; }
///
/// 内容
///
public string Content { get; set; }
///
/// 公告类型
///
public string BulletinTypeId { get; set; }
///
/// 公告类型名称
///
public string BulletinTypeName { get; set; }
///
/// 失效时间
///
public DateTime LoseEfficacyTime { get; set; }
///
/// 发布范围 EPushRange
///
public List PushRanges { get; set; }
///
/// 来源单位ID
///
public string SourceOrgId { get; set; }
///
/// 来源单位名称
///
public string SourceOrgName { get; set; }
}
public record QueryCircularListRequestDto:PagedRequest
{
///
/// 标题
///
public string Title { get; set; }
///
/// 通知类型
///
public string CircularTypeId { get; set; }
///
/// 开始时间
///
public DateTime? CircularTimeStart { get; set; }
///
/// 结束时间
///
public DateTime? CircularTimeEnd { get; set; }
///
/// 状态
///
public ECircularState? CircularState { get; set; }
///
/// 是否阅读
///
public bool? IsRead { get; set; }
}
public record QueryBulletinListRequestDto:PagedRequest
{
///
/// 标题
///
public string Title { get; set; }
///
/// 通知类型
///
public string BulletinTypeId { get; set; }
///
/// 开始时间
///
public DateTime? BulletinTimeStart { get; set; }
///
/// 结束时间
///
public DateTime? BulletinTimeEnd { get; set; }
///
/// 公告状态
///
public EBulletinState? BulletinState { get; set; }
}
public record CircularRecordDto
{
public int PersonCount { get; set; }
public int OrgCount { get; set; }
}
}