Exemple #1
0
        private void toolStripButtonDelete_Click(object sender, EventArgs e)
        {
            if (trvwRsses.SelectedNode.Level == 2) //删除RSS节点
            {
                if (DialogResult.Yes ==
                    MessageBox.Show("真的要删除选中的RSS来源吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))

                {
                    RssDAL.Delete(trvwRsses.SelectedNode.Name);
                    BindTreeView();
                }
            }
            else if (trvwRsses.SelectedNode.Level == 1) //删除分类节点
            {
                string categoryID = trvwRsses.SelectedNode.Name;

                if (DialogResult.Yes ==
                    MessageBox.Show("真的要删除选中的分类,包括分类下所有的RSS来源吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))

                {
                    //删除分类下的所有 RSS 来源
                    foreach (
                        var r in
                        RssDAL.GetAllRsses().Where(r => r.Category.ToString() == categoryID))
                    {
                        RssDAL.Delete(r.ID.ToString());
                    }

                    //删除分类本身
                    CategoryDAL.Delete(categoryID);
                    BindTreeView();
                }
            }
        }
        //点击 “确定”按钮
        private void btnOK_Click(object sender, EventArgs e)
        {
            string title      = txtTitle.Text.Trim();
            string url        = txtUrl.Text.Trim();
            string desciption = txtDescription.Text.Trim();
            int    category   = Convert.ToInt32(Tag);

            var newRss = new RssInfo()
            {
                Title = title, Description = desciption, Url = url, Category = category
            };


            if (_rss == null)
            {
                //添加新的 RSS
                RssDAL.Add(newRss);
            }
            else
            {
                //修改已有 RSS
                RssDAL.Update(_rss.ID, newRss);
            }
            OnDataChanged();
            Close();
        }
Exemple #3
0
        private void trvRsses_AfterSelect(object sender, TreeViewEventArgs e)
        {
            //将当前选中节点的 KEY 赋值给 Tag 属性
            trvwRsses.Tag = trvwRsses.SelectedNode.Name;
            SetToolStrip();

            if (trvwRsses.SelectedNode.Level == 2) //选中的是 RSS 节点
            {
                SaveRssToXmlFile(RssDAL.GetRssById(Convert.ToInt32(trvwRsses.SelectedNode.Name)).Url);
                TransformResult();
                ShowResult();
            }
        }
Exemple #4
0
 //点击 “编辑” 按钮
 private void toolStripButtonEdit_Click(object sender, EventArgs e)
 {
     if (trvwRsses.SelectedNode.Level == 2) //RSS 节点
     {
         var frm = new frmRssEditor(RssDAL.GetRssById(Convert.ToInt32(trvwRsses.SelectedNode.Name)));
         //当在 RssEditor 窗体修改数据后执行 Frm_DataChanged 事件处理程序
         frm.DataChanged += Frm_DataChanged;
         frm.ShowDialog();
     }
     else if (trvwRsses.SelectedNode.Level == 1) //分类节点
     {
         var frm =
             new frmCategoryEditor(CategoryDAL.GetCategoryById(Convert.ToInt32(trvwRsses.SelectedNode.Name)));
         //当在 CategoryEditor 窗体修改数据后执行 Frm_DataChanged 事件处理程序
         frm.DataChanged += Frm_DataChanged;
         frm.ShowDialog();
     }
 }
Exemple #5
0
        private void BindTreeView()
        {
            trvwRsses.Nodes.Clear();
            //增加根节点(全部分类)
            TreeNode rootNode = new TreeNode("所有分类", 0, 0)
            {
                Name = "/"
            };

            trvwRsses.Nodes.Add(rootNode);

            //增加所有分类
            foreach (var category in CategoryDAL.GetAllCategories())
            {
                rootNode.Nodes.Add(new TreeNode(category.CategoryName, 1, 1)
                {
                    Name = category.ID.ToString()
                });
            }

            var rsses = RssDAL.GetAllRsses();

            //增加所有 RSS 节点
            foreach (TreeNode node in trvwRsses.Nodes["/"].Nodes)
            {
                foreach (var rss in rsses.Where(r => r.Category.ToString() == node.Name))
                {
                    node.Nodes.Add(new TreeNode(rss.Title, 2, 2)
                    {
                        Name        = rss.ID.ToString(),
                        ToolTipText = rss.Description
                    });
                }
            }
            trvwRsses.ExpandAll();
        }