diff --git a/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs b/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs index 019233b6c..150d54f1c 100644 --- a/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs +++ b/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs @@ -193,15 +193,16 @@ private void UpdatePlanAfterEquipmentImprovement(EquipmentUpgradePlanItemViewMod /// Null if not found private EquipmentUpgradePlanItemViewModel? FindEquipmentPlanFromEquipmentData(IEquipmentData equipmentData) { - EquipmentUpgradePlanItemViewModel? foundPlan = PlannedUpgrades.FirstOrDefault(plan => plan.Equipment?.MasterID == equipmentData.MasterID); + List plans = PlannedUpgrades.Where(plan => !plan.Finished).ToList(); + + EquipmentUpgradePlanItemViewModel? foundPlan = plans.FirstOrDefault(plan => plan.Equipment?.MasterID == equipmentData.MasterID); // Plan found, return it if (foundPlan != null) return foundPlan; // Not found => look for a matching plan - foundPlan = PlannedUpgrades + foundPlan = plans .Where(plan => plan.Equipment?.MasterID == 0) - .Where(plan => !plan.Finished) .Where(plan => plan.DesiredUpgradeLevel is UpgradeLevel.Conversion || plan.DesiredUpgradeLevel > equipmentData.UpgradeLevel) .FirstOrDefault(plan => plan.Equipment?.EquipmentID == equipmentData.EquipmentID);