using FreeSql.DataAnnotations;
namespace F9WebAiTest.Domain.Entities.SYS.Reports;
///
/// 报表模板文件(对齐 BBIT.F9.Domain.Entities.SYS.Reports.ReportFile)。
/// 报表模板作为独立实体与报表定义(Report)分离存储,Report 通过 ReportFileId 关联其模板实例。
/// .grf 本质是 UTF-8 JSON 文本,故以文本(DesignContent)保存。
///
[Table(Name = "sys_report_files")]
public class ReportFile : BusinessEntity
{
[Column(Name = "report_id")]
public long ReportId { get; private set; }
/// 模板设计内容(.grf 的 JSON 文本)
[Column(Name = "design_content", StringLength = -2)]
public string DesignContent { get; private set; } = "";
public ReportFile() { }
public ReportFile(long id, long reportId, string designContent)
{
Id = id;
ReportId = reportId;
DesignContent = designContent ?? "";
CreatedAt = DateTime.Now;
}
public void UpdateContent(string designContent)
{
DesignContent = designContent ?? "";
UpdatedAt = DateTime.Now;
}
}