using System.Collections.Immutable; 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; } = DateTime.MinValue; public DateTime CloseDate { get; set; } = DateTime.MaxValue; public DateTime CancelDate { get; set; } = DateTime.MaxValue; public DateTime ApprovalDate { get; set; } = DateTime.MaxValue; public string IssueDescription { get; set; } = ""; public int NumberOfLotsAffected { get; set; } public string Val { get; set; } = ""; public bool CustomerImpacted { get; set; } = false; public string Department { get; set; } = ""; public string Process { get; set; } = ""; public int RMANo { get; set; } public int PCRBNo { get; set; } public bool SpecsImpacted { get; set; } = false; 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 sealed class StageApprovalData { public required string RoleName { get; set; } public required string SubRoleName { get; set; } } }