Ejemplo n.º 1
0
        private static List <NestedInstanceDefinitionModel> CreateNested(InstanceDefinitionModel root)
        {
            var models     = new List <NestedInstanceDefinitionModel>();
            var access     = new InstanceTableDataAccess();
            var definition = access.GetDefinition(root.Id);

            int i = 0;

            foreach (var part in definition.GetPartInstances())
            {
                // create model for current part
                var partModel = InstanceDefinitionModelFactory.Create(part.InstanceDefinition);

                // test if not an assembly
                if (!partModel.IsAssembly)
                {
                    models.Add(NestedInstanceDefinitionModelFactory.Create(partModel, root, root, i));
                }

                // if it is an assembly we have to go deeper
                models.AddRange(
                    CreateNested(partModel));

                i += 1;
            }

            return(models);
        }
Ejemplo n.º 2
0
 public static NestedInstanceDefinitionModel Create(InstanceDefinitionModel model)
 {
     return(new NestedInstanceDefinitionModel
     {
         Model = model,
         Root = null,
         Parent = null,
         PartIndex = -1
     });
 }
Ejemplo n.º 3
0
 public static NestedInstanceDefinitionModel Create(InstanceDefinitionModel model,
                                                    InstanceDefinitionModel root, InstanceDefinitionModel parent, int partIndex)
 {
     return(new NestedInstanceDefinitionModel
     {
         Model = model,
         Root = root,
         Parent = parent,
         PartIndex = partIndex
     });
 }