void MarkForDeletion(int id) { Console.WriteLine("MarkForDeletion(" + id + ")"); var sr = catalog.FindByid(id); //DataRow row = catalog.Rows.Find(id); //SeriesCatalogRow sr = new SeriesCatalogRow(row); if (sr.IsFolder == 1) { DataRow[] children = catalog.Select("ParentID = " + id); for (int i = 0; i < children.Length; i++) { int childSdi = Convert.ToInt32(children[i]["id"]); if (childSdi != id) { MarkForDeletion(childSdi); } } } if (sr.Provider == "ModsimSeries" || sr.Provider == "RiverWareSeries" || sr.Provider == "HecDssSeries" || sr.TableName == "" ) {// no table. Delete catalog row sr.Delete(); } else {// drop table then delete catalog row m_db.DropTable(sr.TableName); sr.Delete(); } m_seriesProperties.DeleteAll(id); }