namespace PSTW_CentralSystem.Areas.IT.Printing { public class ItRequestReportModel { // Header/meta public string DocumentNo { get; set; } = "GITRF_01"; public string RevNo { get; set; } = ""; public string DocPageNo { get; set; } = "1 of 1"; public DateTime EffectiveDate { get; set; } = DateTime.Today; // Section A – Requestor snapshot public string StaffName { get; set; } = ""; public string CompanyName { get; set; } = ""; public string DepartmentName { get; set; } = ""; public string Designation { get; set; } = ""; public string Location { get; set; } = ""; public string EmploymentStatus { get; set; } = ""; public DateTime? ContractEndDate { get; set; } public DateTime RequiredDate { get; set; } public string PhoneExt { get; set; } = ""; // Captured lists (kept for other sections) public List Hardware { get; set; } = new(); public string? Justification { get; set; } public List Emails { get; set; } = new(); public List OsRequirements { get; set; } = new(); public List<(string Bucket, string Name, string? Other, string? Notes)> Software { get; set; } = new(); public List<(string Share, bool R, bool W, bool D, bool Remove)> SharedPerms { get; set; } = new(); // ===== NEW: Hardware purposes (left column) ===== public bool HwPurposeNewRecruitment { get; set; } public bool HwPurposeReplacement { get; set; } public bool HwPurposeAdditional { get; set; } // ===== NEW: Hardware selections (right column) ===== public bool HwDesktopAllIn { get; set; } public bool HwNotebookAllIn { get; set; } public bool HwDesktopOnly { get; set; } public bool HwNotebookOnly { get; set; } public bool HwNotebookBattery { get; set; } public bool HwPowerAdapter { get; set; } public bool HwMouse { get; set; } public bool HwExternalHdd { get; set; } public string? HwOtherText { get; set; } // Section B – IT staff public string AssetNo { get; set; } = ""; public string MachineId { get; set; } = ""; public string IpAddress { get; set; } = ""; public string WiredMac { get; set; } = ""; public string WifiMac { get; set; } = ""; public string DialupAcc { get; set; } = ""; public string Remarks { get; set; } = ""; // Acceptance public string RequestorName { get; set; } = ""; public DateTime? RequestorAcceptedAt { get; set; } public string ItCompletedBy { get; set; } = ""; public DateTime? ItAcceptedAt { get; set; } // Status public int ItRequestId { get; set; } public int StatusId { get; set; } public string OverallStatus { get; set; } = ""; public DateTime SubmitDate { get; set; } // Approval Flow dates public DateTime? HodSubmitDate { get; set; } public DateTime? GitHodSubmitDate { get; set; } public DateTime? FinHodSubmitDate { get; set; } public DateTime? MgmtSubmitDate { get; set; } // Approvers public string HodApprovedBy { get; set; } public string GitHodApprovedBy { get; set; } public string FinHodApprovedBy { get; set; } public string MgmtApprovedBy { get; set; } } }