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);
        }
 public bool Do(ref string error)
 {
     // if we don't already have a linked parameter, build one
     if ( this.LinkedParameter == null )
     {
         if ( !CheckLinkedParemterList( ref error ) )
         {
             return false;
         }
         var lp = new LinkedParameter( this.Name );
         if ( !lp.SetValue( this.InitialValue, ref error ) )
         {
             return false;
         }
         this.LinkedParameter = lp;
     }
     // store that parameter in the mode system's parameters
     this.Project.LinkedParameters[this.ModelSystemIndex].Add( this.LinkedParameter );
     return true;
 }
 public bool Do(ref string error)
 {
     // if we don't already have a linked parameter, build one
     if (this.LinkedParameter == null)
     {
         if (!CheckLinkedParemterList(ref error))
         {
             return(false);
         }
         var lp = new LinkedParameter(this.Name);
         if (!lp.SetValue(this.InitialValue, ref error))
         {
             return(false);
         }
         this.LinkedParameter = lp;
     }
     // store that parameter in the mode system's parameters
     this.ModelSystem.LinkedParameters.Add(this.LinkedParameter);
     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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 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;
 }