Example #1
0
        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);
        }