Exemplo n.º 1
0
        /// <summary>
        /// Create a simulations model
        /// </summary>
        /// <param name="children">The child models</param>
        public static Simulations Create(IEnumerable <IModel> children)
        {
            Simulations newSimulations = new Core.Simulations();

            newSimulations.Children.AddRange(children.Cast <Model>());

            // Call the OnDeserialised method in each model.
            Events events = new Core.Events(newSimulations);

            object[] args = new object[] { true };
            events.Publish("Deserialised", args);

            // Parent all models.
            newSimulations.Parent = null;
            Apsim.ParentAllChildren(newSimulations);

            // Call OnLoaded in all models.
            LoadedEventArgs loadedArgs = new LoadedEventArgs();

            events.Publish("Loaded", new object[] { newSimulations, loadedArgs });
            if (loadedArgs.errors.Count > 0)
            {
                newSimulations.LoadErrors = new List <Exception>();
                newSimulations.LoadErrors.AddRange(loadedArgs.errors);
            }
            return(newSimulations);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Create a simulations model
        /// </summary>
        /// <param name="children">The child models</param>
        public static Simulations Create(IEnumerable <IModel> children)
        {
            Simulations newSimulations = new Core.Simulations();

            newSimulations.Children.AddRange(children.Cast <Model>());

            // Parent all models.
            newSimulations.Parent = null;
            Apsim.ParentAllChildren(newSimulations);

            // Call OnCreated in all models.
            Apsim.ChildrenRecursively(newSimulations).ForEach(m => m.OnCreated());

            return(newSimulations);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Create a simulations model
        /// </summary>
        /// <param name="children">The child models</param>
        public static Simulations Create(IEnumerable <IModel> children)
        {
            Simulations newSimulations = new Core.Simulations();

            newSimulations.Children.AddRange(children.Cast <Model>());

            // Parent all models.
            newSimulations.Parent = null;
            newSimulations.ParentAllDescendants();

            // Call OnCreated in all models.
            foreach (IModel model in newSimulations.FindAllDescendants().ToList())
            {
                model.OnCreated();
            }

            return(newSimulations);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Create a simulations model
        /// </summary>
        /// <param name="children">The child models</param>
        public static Simulations Create(IEnumerable <Model> children)
        {
            Simulations newSimulations = new Core.Simulations();

            newSimulations.Children.AddRange(children);

            // Call the OnDeserialised method in each model.
            Events events = new Core.Events(newSimulations);

            object[] args = new object[] { true };
            events.Publish("Deserialised", args);

            // Parent all models.
            newSimulations.Parent = null;
            Apsim.ParentAllChildren(newSimulations);

            // Call OnLoaded in all models.
            newSimulations.LoadErrors = events.Publish("Loaded", null);
            return(newSimulations);
        }