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); }
public static NestedInstanceDefinitionModel Create(InstanceDefinitionModel model) { return(new NestedInstanceDefinitionModel { Model = model, Root = null, Parent = null, PartIndex = -1 }); }
public static NestedInstanceDefinitionModel Create(InstanceDefinitionModel model, InstanceDefinitionModel root, InstanceDefinitionModel parent, int partIndex) { return(new NestedInstanceDefinitionModel { Model = model, Root = root, Parent = parent, PartIndex = partIndex }); }