Example #1
0
        public DataView GetNodeChildren(RootNodes specialID)
        {
            var retTable = new DataTable("RootNodes");

            retTable.Columns.Add(new DataColumn("ID", typeof(string)));
            retTable.Columns.Add(new DataColumn("DisplayName", typeof(string)));
            retTable.Columns.Add(new DataColumn("NodeType", typeof(NodeTypes)));

            switch (specialID)
            {
            case RootNodes.Notebooks:
            {
                if (dsOneNote.Tables.IndexOf("Notebook") < 0)
                {
                    return(null);
                }

                DataTable dataTable = dsOneNote.Tables["Notebook"];
                foreach (DataRow rowView in dataTable.Rows)
                {
                    string          copyID          = rowView["ID"].ToString();
                    string          copyDisplayName = rowView["name"].ToString();
                    const NodeTypes copyNodeType    = NodeTypes.Notebook;
                    retTable.Rows.Add(new object[] { copyID, copyDisplayName, copyNodeType });
                }
                return(retTable.DefaultView);
            }

            case (RootNodes.LiveSharedSections):
            case (RootNodes.OpenSections):
            case (RootNodes.UnfiledNotes):

                if (dsOneNote.Tables.IndexOf(specialID.ToString()) < 0)
                {
                    return(null);
                }
                DataTable dTable = dsOneNote.Tables[specialID.ToString()];
                return(this.GetNodeChildren(dTable.Rows[0]["ID"].ToString()));

            case (RootNodes.WorkingSets):
            {
                DataTable dTableWS = workingSet.dsWorkingSet.Tables["WorkingSet"];
                foreach (DataRow rowView in dTableWS.Rows)
                {
                    string          copyID          = rowView["ID"].ToString();
                    string          copyDisplayName = rowView["name"].ToString();
                    const NodeTypes copyNodeType    = NodeTypes.WorkingSet;
                    retTable.Rows.Add(new object[] { copyID, copyDisplayName, copyNodeType });
                }
                return(retTable.DefaultView);
            }
            }

            return(null);
        }