public static bool OnParallelChamberPM(this FabAoEquipment eqp, PMSchedule pm, DownEventType det) { if (pm == null || eqp.IsParallelChamber || string.IsNullOrEmpty(pm.ComponentID)) { return(false); } var chamberID = pm.ComponentID; if (string.IsNullOrEmpty(chamberID)) { chamberID = Constants.NULL_ID; } var cproc = eqp.FirstProcess <AoChamberProc2>(); if (det == DownEventType.End) { cproc.Live(chamberID); eqp.WriteHistoryAfterBreak(); eqp.SetModified(); } else { cproc.Die(chamberID, pm.EndTime); eqp.WriteHistory(LoadingStates.PM); } return(true); }