private bool SetupLinkedParameters(ref string error) { var linkedParameterList = this.LinkedParameters; if (linkedParameterList != null) { foreach (var lp in linkedParameterList) { var newLp = new LinkedParameter(lp.Name); if (!newLp.SetValue(lp.Value, ref error)) { return(false); } foreach (var p in lp.Parameters) { var copiedParameter = GetCorrespondingParameter(p, this.Strucuture); if (copiedParameter != null) { newLp.Add(copiedParameter, ref error); } } this.GeneratedModelSystem.LinkedParameters.Add(newLp); } } return(true); }
private bool SetupLinkedParameters(ref string error) { var linkedParameterList = this.ModelSystem.LinkedParameters; if (linkedParameterList != null) { CopiedLinkedParameters = new List <ILinkedParameter>(linkedParameterList.Count); foreach (var lp in linkedParameterList) { var newLp = new LinkedParameter(lp.Name); if (!newLp.SetValue(lp.Value, ref error)) { return(false); } foreach (var p in lp.Parameters) { newLp.Add(GetCorrespondingParameter(p, this.MSS), ref error); } CopiedLinkedParameters.Add(newLp); } } return(true); }
private List <ILinkedParameter> LoadLinkedParameters(ModelSystemStructure root, Stream stream) { var ret = new List <ILinkedParameter>(); string error = null; using (XmlReader reader = XmlReader.Create(stream)) { bool skipRead = false; while (!reader.EOF && (skipRead || reader.Read())) { skipRead = false; if (reader.NodeType != XmlNodeType.Element) { continue; } switch (reader.LocalName) { case "LinkedParameter": { string linkedParameterName = "Unnamed"; string valueRepresentation = null; var startingDepth = reader.Depth; while (reader.MoveToNextAttribute()) { if (reader.NodeType == XmlNodeType.Attribute) { if (reader.LocalName == "Name") { linkedParameterName = reader.ReadContentAsString(); } else if (reader.LocalName == "Value") { valueRepresentation = reader.ReadContentAsString(); } } } LinkedParameter lp = new LinkedParameter(linkedParameterName); lp.SetValue(valueRepresentation, ref error); ret.Add(lp); skipRead = true; while (reader.Read()) { if (reader.Depth <= startingDepth) { break; } if (reader.NodeType != XmlNodeType.Element) { continue; } if (reader.LocalName == "Reference") { string variableLink = null; while (reader.MoveToNextAttribute()) { if (reader.Name == "Name") { variableLink = reader.ReadContentAsString(); } } if (variableLink != null) { IModuleParameter param = GetParameterFromLink(variableLink, root); if (param != null) { // in any case if there is a type error, just throw it out lp.Add(param, ref error); } } } } } break; } } } return(ret); }
private bool SetupLinkedParameters(ref string error) { var linkedParameterList = this.LinkedParameters; if ( linkedParameterList != null ) { foreach ( var lp in linkedParameterList ) { var newLp = new LinkedParameter( lp.Name ); if ( !newLp.SetValue( lp.Value, ref error ) ) { return false; } foreach ( var p in lp.Parameters ) { var copiedParameter = GetCorrespondingParameter( p, this.Strucuture ); if ( copiedParameter != null ) { newLp.Add( copiedParameter, ref error ); } } this.GeneratedModelSystem.LinkedParameters.Add( newLp ); } } return true; }
private bool SetupLinkedParameters(ref string error) { var linkedParameterList = this.ModelSystem.LinkedParameters; if ( linkedParameterList != null ) { CopiedLinkedParameters = new List<ILinkedParameter>( linkedParameterList.Count ); foreach ( var lp in linkedParameterList ) { var newLp = new LinkedParameter( lp.Name ); if ( !newLp.SetValue( lp.Value, ref error ) ) { return false; } foreach ( var p in lp.Parameters ) { newLp.Add( GetCorrespondingParameter( p, this.MSS ), ref error ); } CopiedLinkedParameters.Add( newLp ); } } return true; }