namespace MMDAL.DTO.MRPRun { public enum MrpRunScope { Macro = 0, Allocation = 1, SalesOrder = 2, FGItem = 3 } public class MRPRunTriggerDTO { public int MrpRunId { get; set; } public int MrpId { get; set; } public DateTime FromDate { get; set; } public DateTime ToDate { get; set; } public int TypeofRun { get; set; } // 0=MPS, 1=MRP, 2=MinMax, 3=ROL public int IncludeException { get; set; } public int IncludeSafetyStock { get; set; } public int IsPeggingRequired { get; set; } public int IsStockPostRequired { get; set; } public bool IsCombined { get; set; } // true = MPS then MRP sequentially // ── Auth context (populated by BLL before publishing to Dapr) ───────── public int WorkOUId { get; set; } public int TenantId { get; set; } public int UserId { get; set; } public string DatabaseName { get; set; } // ── Scoped run ──────────────────────────────────────────────────────── public MrpRunScope RunScope { get; set; } = MrpRunScope.Macro; public int? AllocationId { get; set; } public int? SalesOrderId { get; set; } public List? FGItemIds { get; set; } // ── Priority filter ─────────────────────────────────────────────────── // null = include all demand; set to 1 to plan only highest-priority demand first public int? MaxPriorityToInclude { get; set; } } }