using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace YBEE.EQM.Core;

/// <summary>
/// 机构监测结果
/// </summary>
[Comment("机构监测结果")]
public class ExamOrgResult : DEntityBase
{
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Comment("监测计划ID")]
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 监测结果发布内容ID
    /// </summary>
    [Comment("监测结果发布内容ID")]
    [Required]
    public int ExamDataPublishId { get; set; }
    /// <summary>
    /// 监测机构ID
    /// </summary>
    [Comment("监测机构ID")]
    [Required]
    public int ExamOrgId { get; set; }
    /// <summary>
    /// 机构ID
    /// </summary>
    [Comment("机构ID")]
    [Required]
    public int SysOrgId { get; set; }

    /// <summary>
    /// 文件名
    /// </summary>
    [Comment("文件名")]
    [Required, StringLength(200)]
    public string FileName { get; set; }
    /// <summary>
    /// 文件路径
    /// </summary>
    [Comment("文件路径")]
    [Required, StringLength(300)]
    public string FilePath { get; set; }
    /// <summary>
    /// 扩展名
    /// </summary>
    [Comment("扩展名")]
    [Required, StringLength(50)]
    public string FileExtName { get; set; }
    /// <summary>
    /// 文件大小
    /// </summary>
    [Comment("文件大小")]
    [Required]
    public long FileSize { get; set; } = 0;

    /// <summary>
    /// 一对一引用（监测机构）
    /// </summary>
    public virtual ExamOrg ExamOrg { get; set; }
    /// <summary>
    /// 一对一引用（监测结果发布内容）
    /// </summary>
    public virtual ExamDataPublish ExamDataPublish { get; set; }
}
