Esempio n. 1
0
        private void DeleteTreeNode(TreeNode treeNodeSelected)
        {
            try
            {
                if (treeNodeSelected.Name == "PARENTNODE")//the selected node is a parentNode
                {
                    if (MessageBox.Show("Do you want to delete this parent node [" + treeNodeSelected.Text + "]" +
                                        " and all its children?\n(NB: This action cannot be undone.)",
                                        "Warning!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        foreach (TreeNode child in treeNodeSelected.Nodes)//close tabpage if possible
                        {
                            CloseTabPage(child.Name);
                            RecentlyOpenedDocs.DeleteSermonFromID(int.Parse(child.Name));
                            Sermon.DeleteSermon(int.Parse(child.Name));
                        }
                        if (int.TryParse(treeNodeSelected.Name, out int id))
                        {
                            CloseTabPage(treeNodeSelected.Name);
                            RecentlyOpenedDocs.DeleteSermonFromID(int.Parse(treeNodeSelected.Name));
                            Sermon.DeleteSermon(int.Parse(treeNodeSelected.Name));
                        }
                        treeNodeSelected.Remove();
                    }
                }
                else//i.e. the selected node is not a parent node
                {
                    TreeNode parentNode = treeNodeSelected.Parent;

                    if (treeNodeSelected.Name != null)
                    {
                        if (MessageBox.Show("Do you want to delete this node [" + treeNodeSelected.Text + "]" +
                                            "?\n(NB: This action cannot be undone.)",
                                            "Warning!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            CloseTabPage(treeNodeSelected.Name);//close tabpage if possible
                            treeNodeSelected.Remove();
                            RecentlyOpenedDocs.DeleteSermonFromID(int.Parse(treeNodeSelected.Name));
                            Sermon.DeleteSermon(int.Parse(treeNodeSelected.Name));
                            StatusBarMessages.SetStatusBarMessageAction("Deleted " + treeNodeSelected.Text);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Could not access node data.\nPlease try again.", "Failed to delete!");
                    }
                    if (parentNode.GetNodeCount(false) == 0)
                    {
                        parentNode.Remove();
                    }
                }
            }
            catch
            {
                MessageBox.Show("Kindly specify the node to be deleted.");
            }
        }
Esempio n. 2
0
        private void MenuItemDeleteAll_Click(object sender, EventArgs e)
        {
            DialogResult userChoice = MessageBox.Show("This option is going to delete every record in your library. Do you wish to continue?\n(NB: This action cannot be undone.)", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (userChoice == DialogResult.Yes)
            {
                try
                {
                    foreach (TreeNode tnParentNode in Nodes)
                    {
                        foreach (TreeNode tnChildNode in tnParentNode.Nodes)
                        {
                            try
                            {
                                string szRemoved = tnChildNode.Name;
                                CloseTabPage(szRemoved);//close tabpage if possible
                                Sermon.DeleteSermon(int.Parse(szRemoved));
                                RecentlyOpenedDocs.DeleteSermonFromID(int.Parse(szRemoved));
                            }
                            catch {; }
                        }
                    }
                    Nodes.Clear();
                    Sort();
                    if (Nodes.Count != 0)
                    {
                        MessageBox.Show("An error was encountered in deleting some nodes. Please try again.");
                        StatusBarMessages.SetStatusBarMessageAction("Partial deletion");
                    }
                    else
                    {
                        StatusBarMessages.SetStatusBarMessageAction("Deleted all stored sermons");
                    }
                }
                catch {; }
            }
        }