using FrameworkDAL.DTO.ReportViewFields; using System; using System.Collections.Generic; namespace FrameworkDAL.DTO.ReportViewer { public class ReportViewDTO { // ── PK / parent ────────────────────────────────────────────────── public int ReportViewId { get; set; } public int ReportId { get; set; } public string ReportName { get; set; } = string.Empty; // joined display only public string ReportViewRemarks { get; set; } // ── Core settings ──────────────────────────────────────────────── public string ReportViewName { get; set; } = string.Empty; // 0=Grid, 1=Template, 2=Preview, 3=Html, 4=Page public byte ReportViewType { get; set; } public string ReportViewTypeName { get; set; } public byte ReportViewIsSystemView { get; set; } public string ReportViewIsSystemViewName { get; set; } public byte ReportViewIsDefaultView { get; set; } public string ReportViewIsDefaultViewName { get; set; } // Stored as CSV e.g. ",1,2,5," — legacy convention, maintained for compatibility public string ApplicableMenuIds { get; set; } = string.Empty; public string ApplicableMenuIdsName { get; set; } public string ClientIds { get; set; } = ",-1"; public string ClientIdsName { get; set; } // ── Page / print settings ──────────────────────────────────────── // 0-10=A0-A10, 11-16=B0-B5, 17=Letter, 18=Legal, 19=Note public byte ReportViewPageFormat { get; set; } // 0=Portrait, 1=Landscape public byte ReportViewPageOrientation { get; set; } public byte ReportViewColumnFreeze { get; set; } public string ReportViewPivotFormat { get; set; } = string.Empty; public byte ReportViewIsDataPivot { get; set; } = 1; public string ReportViewIsDataPivotName { get; set; } public string OrderByFields { get; set; } = string.Empty; public string DynamicFooter { get; set; } = string.Empty; public string ReportTitle { get; set; } = "NONE"; // ── Template and header links ───────────────────────────────────── public int TemplateId { get; set; } public string TemplateName { get; set; } public int SecondTemplateId { get; set; } = -1; public string SecondTemplateName { get; set; } public int PageId { get; set; } public string PageCode { get; set; } public string PageName { get; set; } public int ReportHeaderId { get; set; } = -1; public string ReportHeaderCode { get; set; } public string ReportHeaderName { get; set; } // 0=YES (apply header on export), 1=NO public byte ReportViewIsHeaderRequired { get; set; } = 1; public string ReportViewIsHeaderRequiredName { get; set; } public byte IsVisible { get; set; } public string ReportViewIsVisibleName { get; set; } // ── Source / audit ─────────────────────────────────────────────── // 1=Framework, 2=DevAdmin, 3=ImpAdmin, 4=Admin, 5=User public byte ReportViewSourceType { get; set; } = 5; public byte ReportViewStatus { get; set; } = 1; public short ReportViewVersion { get; set; } public short SortOrder { get; set; } = 9999; public int CreatedById { get; set; } public DateTime? CreatedOn { get; set; } public string CreatedByName { get; set; } public int ModifiedById { get; set; } public DateTime? ModifiedOn { get; set; } public string ModifiedByName { get; set; } public string Remarks { get; set; } public int IsSaveToSystem { get; set; } public string Password { get; set; } public string UserCode { get; set; } // ── Child field settings (used by SaveReportViewWithFields) ────── public List ReportViewFieldsDTOs { get; set; } = new(); } }