/// <summary> /// Clears the output of all calculations with output in a calculation group. /// </summary> /// <param name="calculationGroup">The calculation group to clear the output for.</param> /// <remarks>The calculation group is enumerated recursively, also taking into account nested calculations.</remarks> public static void ClearCalculationOutput(this CalculationGroup calculationGroup) { foreach (ICalculation calc in calculationGroup.GetCalculations().Where(c => c.HasOutput)) { calc.ClearOutput(); calc.NotifyObservers(); } }
/// <summary> /// Method for determining if one or more calculations in a calculation group have output. /// </summary> /// <param name="calculationGroup">The calculation group to check the output for.</param> /// <returns><c>true</c> if one or more calculations in the calculation group have output, <c>false</c> otherwise.</returns> /// <remarks>The calculation group is enumerated recursively, also taking into account nested calculations.</remarks> public static bool HasOutput(this CalculationGroup calculationGroup) { return(calculationGroup.GetCalculations().Any(c => c.HasOutput)); }