public static void ProcessCalculatorParameters( Dictionary <fsParameterIdentifier, fsSimulationModuleParameter> values, Dictionary <fsParameterIdentifier, fsParametersGroup> parameterToGroup, List <fsCalculator> calculators) { var localValues = new Dictionary <fsParameterIdentifier, fsCalculatorParameter>(); foreach (fsParameterIdentifier parameter in values.Keys) { fsParametersGroup group = parameterToGroup[parameter]; localValues[parameter] = group.GetIsInputFlag() && parameter == group.Representator ? new fsCalculatorParameter(parameter, true, values[parameter].Value) : new fsCalculatorParameter(parameter); } foreach (fsCalculator calc in calculators) { calc.ReadDataFromStorage(localValues); calc.Calculate(); calc.CopyValuesToStorage(localValues); } foreach (fsParameterIdentifier parameter in values.Keys) { values[parameter].Value = localValues[parameter].Value; } }
protected void SetGroupInput(fsParametersGroup group, bool value) { if (!group.GetIsOnlyCalculatedFlag()) { group.SetIsInputFlag(value); } bool isReadOnly = !group.GetIsInputFlag(); foreach (fsParameterIdentifier parameter in group.Parameters) { ParameterToCell[parameter].ReadOnly = isReadOnly; } }
protected void UpdateCellForeColors() { foreach (var pair in ParameterToCell) { fsParametersGroup group = ParameterToGroup[pair.Key]; if (group.GetIsInputFlag()) { pair.Value.Style.ForeColor = group.Representator == pair.Key ? Color.Blue : Color.Black; } else { pair.Value.Style.ForeColor = Color.Black; } } }