using MesaFabApproval.Shared.Utilities; namespace MesaFabApproval.Shared.Models; public class MRB { public static string[] Stages { get; } = { "Draft", "QA Pre Approval", "Pending Approval", "Approved", "Complete" }; public int MRBNumber { get; set; } public int OriginatorID { get; set; } public string OriginatorName { get; set; } = ""; public string Title { get; set; } = ""; public DateTime SubmittedDate { get; set; } = DateTimeUtilities.MIN_DT; public DateTime CloseDate { get; set; } = DateTimeUtilities.MAX_DT; public DateTime CancelDate { get; set; } = DateTimeUtilities.MAX_DT; public DateTime ApprovalDate { get; set; } = DateTimeUtilities.MAX_DT; public string IssueDescription { get; set; } = ""; public int NumberOfLotsAffected { get; set; } public int Val { get; set; } public bool CustomerImpacted { get; set; } = false; public string CustomerImpactedName { get; set; } = ""; public string Department { get; set; } = ""; public string Process { get; set; } = ""; public int RMANo { get; set; } public string PCRBNo { get; set; } = ""; public bool SpecsImpacted { get; set; } = false; public int ProcessECNNumber { get; set; } public bool TrainingRequired { get; set; } = false; public IEnumerable? Attachments { get; set; } public IEnumerable? Actions { get; set; } public IEnumerable? ApproverUserIds { get; set; } public required int StageNo { get; set; } public required string Status { get; set; } public string Tool { get; set; } = ""; public string Category { get; set; } = string.Empty; public sealed class StageApprovalData { public required string RoleName { get; set; } public required string SubRoleName { get; set; } } }