using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 监测发布内容输出参数
/// </summary>
public class ExamDataPublishOutput : DEntityOutput
{
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 发布类型
    /// </summary>
    [Required]
    public DataPublishType Type { get; set; }
    /// <summary>
    /// 发布名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; }
    /// <summary>
    /// 发布状态
    /// </summary>
    [Required]
    public PublishStatus Status { get; set; }
    /// <summary>
    /// 发布时间
    /// </summary>
    public DateTime? PublishTime { get; set; }
    /// <summary>
    /// 发布人用户ID
    /// </summary>
    public int? PublishSysUserId { get; set; }

    /// <summary>
    /// 发布用户
    /// </summary>
    public SysUserLiteOutput PublishSysUser { get; set; }
}


/// <summary>
/// 监测机构反馈结果文件输出参数
/// </summary>
public class ExamDataPublishOrgResultOutput
{
    /// <summary>
    /// 主键
    /// </summary>
    [Required]
    public int Id { get; set; }
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 发布类型
    /// </summary>
    [Required]
    public DataPublishType Type { get; set; }
    /// <summary>
    /// 发布名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; }
    /// <summary>
    /// 发布状态
    /// </summary>
    [Required]
    public PublishStatus Status { get; set; }
    /// <summary>
    /// 发布时间
    /// </summary>
    public DateTime? PublishTime { get; set; }

    /// <summary>
    /// 监测机构反馈文件列表
    /// </summary>
    public List<ExamOrgResultOutput> ExamOrgResultList { get; set; } = new();
}