using System; namespace FrameworkDAL.DTO.Menu { /// /// Dedicated Save/Update/Delete DTO for MMENU — deliberately separate from MenuDTO /// (a large, joined report-style DTO with 70+ properties mixing MMENU's own columns /// with display names from a dozen joined lookup tables, inconsistently named). This /// DTO's properties map 1:1 to MMENU's own columns only, confirmed against the live /// INSERT column list in DB/Migrations/20260722_RAM_ScanPipeline_MenuSeed_SqlServer.sql — /// reusing MenuDTO here risked silently mismatching one of its ambiguous property names. /// public class MenuAdminDTO { public int MenuId { get; set; } public string MenuCode { get; set; } = string.Empty; public string MenuName { get; set; } = string.Empty; public int ModuleId { get; set; } public int GcmTypeId { get; set; } = -1; public string Section { get; set; } = string.Empty; public byte IsParentMenu { get; set; } public int ParentId { get; set; } = -1; public string ParentIds { get; set; } = "-1"; public byte Levels { get; set; } = 1; public string? Remarks { get; set; } public int ReportId { get; set; } = -1; public int WebFormId { get; set; } public byte MenuType { get; set; } public byte MenuNature { get; set; } public int ImageId { get; set; } = -1; public int PageId { get; set; } = -1; // Generic Dashboard/Page/Portlet link -- 0=None(default),1=Dashboard,2=Page,3=Portlet. public byte TargetType { get; set; } public int TargetId { get; set; } = -1; public string MenuDisplayName { get; set; } = string.Empty; public string? MenuDescription { get; set; } public string? MenuToolTip { get; set; } public string? MenuCaption { get; set; } public int SaveWebServiceId { get; set; } = -1; public int GetWebServiceId { get; set; } = -1; public int DeleteWebServiceId { get; set; } = -1; public int BizTransactionClassId { get; set; } = -1; public int EntityId { get; set; } = -1; public string? HelpUrl { get; set; } public short SortOrder { get; set; } = 9999; public byte Status { get; set; } = 1; public short Version { get; set; } public byte SourceType { get; set; } = 1; public int CreatedById { get; set; } = -1; public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } = -1; public DateTime ModifiedOn { get; set; } public int DefaultReportFormatId { get; set; } = -1; public string? UriParameterValue { get; set; } public int DefaultReportViewId { get; set; } = -1; public int ListMenuId { get; set; } = -1; public int AnalysisQueryId { get; set; } = -1; public int DefaultMenuId { get; set; } = -1; public decimal FromVersion { get; set; } public decimal ToVersion { get; set; } = 99.9m; public int SectionId { get; set; } = -1; public int ObjectModelId { get; set; } = -1; public string IconName { get; set; } = string.Empty; } }