private void fillTableBtn_Click(object sender, EventArgs e) { using (catalogDb db = new catalogDb()) { if (!db.CatalogLevelSet.Any()) { var catalog = db.CatalogSet.ToList(); foreach (var item in catalog) { Catalog_level newItem = addRow(null, item.Name, item.Description, db); int newCatalogId = newItem.Id; var catalog_aggr = db.CatalogAggrSet.Where(u => u.CatalogId == item.Id).ToList(); foreach (var item2 in catalog_aggr) { newItem = addRow(newCatalogId, item2.Name, item2.Description, db); int newCatalogAggrId = newItem.Id; var catalog_model = db.CatalogModels.Where(u => u.Catalog_aggregateId == item2.Id).ToList(); foreach (var item3 in catalog_model) { newItem = addRow(newCatalogAggrId, item3.Model, item3.Description, db); } } } } } }
Catalog_level addRow(int?parent_id, string name, string descr, catalogDb db) { Catalog_level newItem = new Catalog_level { Parent_Id = parent_id, Name = name, Description = descr }; db.CatalogLevelSet.Add(newItem); db.SaveChanges(); return(newItem); }
void fillTree(Catalog_level row, ref TreeNode tr, TreeView tv) { if (row.Parent_Id == null) { tv.Nodes.Add(row.Id.ToString(), row.Name); tr = tv.Nodes[row.Id.ToString()]; } else { if (tr.Name == row.Parent_Id.ToString()) { tr.Nodes.Add(row.Id.ToString(), row.Name); tr = tr.Nodes[row.Id.ToString()]; } else { // TreeNode newtr = tr.Parent; tr = tr.Parent; fillTree(row, ref tr, tv); // tr = newtr; } } }