private static void StepChange_Curr(this QTimeInfo info, FabStep currStep, DateTime now) { if (info.HasMinQTime()) { info.MinList.ForEach(t => t.StepChange_Curr(currStep, now)); } if (info.HasMaxQTime()) { info.MaxList.ForEach(t => t.StepChange_Curr(currStep, now)); } }
internal static StayHour FindMinimumRemainTime(this QTimeInfo info, DateTime now) { if (info.HasMaxQTime() == false) { return(null); } var list = info.MaxList.FindAll(x => x.FromStepOutTime != DateTime.MinValue); if (list == null || list.Count == 0) { return(null); } var lot = info.Lot; var currStep = lot.CurrentFabStep; if (list.Count > 1) { list.Sort(new CompareHelper.MaxQTimeComparer(lot, currStep, now, OrderType.ASC)); } return(list[0]); }