public static string GetStartValueAsDisplayString(this IStartValue startValue) { return(string.Format("{0} {1}", startValue.ConvertToDisplayUnit(startValue.StartValue).ToString(CultureInfo.InvariantCulture), startValue.DisplayUnit )); }
private IFormula defaultFormulaBasedOn(IStartValue startValue) { if (startValue.Formula != null) { return(_cloneManagerForModel.Clone(startValue.Formula)); } return(_formulaTask.CreateNewFormula <ConstantFormula>(startValue.Dimension).WithValue(startValue.StartValue.GetValueOrDefault(double.NaN))); }
protected static bool HasEquivalentStartValue(IStartValue startValue, double?originalStartValue) { if (!originalStartValue.HasValue) { return(double.IsNaN(startValue.StartValue.GetValueOrDefault(Double.NaN))); } if (!startValue.StartValue.HasValue) { return(false); } return(ValueComparer.AreValuesEqual(originalStartValue.Value, startValue.StartValue.Value)); }
/// <summary> /// Checks that the formula is equivalent for the start value. This includes evaluation of constant formula to a double /// </summary> /// <param name="startValue">The start value to check</param> /// <param name="targetFormula">The formula being evaluated</param> /// <returns>True if the formula is equivalent to the start value formula</returns> public bool HasEquivalentFormula(IStartValue startValue, IFormula targetFormula) { var startValueFormula = startValue.Formula; if (startValueFormula == null && targetFormula == null) { return(true); } if ((startValueFormula == null || startValueFormula.IsConstant()) && targetFormula.IsConstant()) { return(isConstantFormulaEqualToStartValue(startValue, targetFormula.DowncastTo <ConstantFormula>())); } return(_formulaTask.FormulasAreTheSame(startValue.Formula, targetFormula)); }
/// <summary> /// Checks that the formula is equivalent for the start value. This includes evaluation of constant formula to a double /// </summary> /// <param name="startValue">The start value to check</param> /// <param name="targetFormula">The formula being evaluated</param> /// <returns>True if the formula is equivalent to the start value formula</returns> protected bool HasEquivalentFormula(IStartValue startValue, IFormula targetFormula) { return(_startValuePathTask.HasEquivalentFormula(startValue, targetFormula)); }
private static bool hasValidFormula(IStartValue startValue) { return(startValue.Formula != null && (startValue.Formula.IsExplicit()) || startValue.Formula.IsConstant()); }
/// <summary> /// Checks to see if the constant formula equals the double StartValue /// </summary> /// <param name="startValue">The start value to check</param> /// <param name="targetFormula">The formula being evaluated</param> /// <returns>True if the formula is constant and evaluates to the same value as startValue.StartValue</returns> private static bool isConstantFormulaEqualToStartValue(IStartValue startValue, ConstantFormula targetFormula) { return(startValue.StartValue.HasValue && ValueComparer.AreValuesEqual(startValue.StartValue.Value, targetFormula.Calculate(null))); }
protected static bool HasEquivalentStartValue(IStartValue startValue, IParameter parameter) { var(value, _) = parameter.TryGetValue(); return(HasEquivalentStartValue(startValue, value)); }