private List<ContentProvider> _providers; // danh sách các provider

        public ContentTreeController()
        {
            ContentProviderController providerController = new ContentProviderController();
            // lấy danh sách các provider từ xml
            providerController.LoadProviders();
            _providers = providerController.Providers;
        }
Example #2
0
        private void saveButton_Click(object sender, EventArgs e)
        {

            ContentProviderController controller = new ContentProviderController();
            List<ContentProvider> providers = controller.Providers;
            var rows = providerGridView.Rows; // lấy tất cả các row của grid view
            for (int i = 0; i < rows.Count; i++)
            {
                // kiểm tra uri không được rỗng
                if (rows[i].Cells[1].Value != null)
                {
                    ContentProvider provider = new ContentProvider();
                    provider.Name = rows[i].Cells[0].Value.ToString();
                    provider.Uri = new Uri(rows[i].Cells[1].Value.ToString());
                    provider.CatagorySelector = rows[i].Cells[2].Value.ToString();
                    provider.UrlSelector = rows[i].Cells[3].Value.ToString();
                    provider.TitleSelector = rows[i].Cells[4].Value.ToString();
                    provider.SummanySelector = rows[i].Cells[5].Value.ToString();
                    provider.ContentSelector = rows[i].Cells[6].Value.ToString();
                    provider.TimeSelector = rows[i].Cells[7].Value.ToString();
                    provider.AuthorSelector = rows[i].Cells[8].Value.ToString();
                    
                    // thêm provider vào list providers
                    providers.Add(provider);
                }               
            }
            // truyền providers cho controller
            controller.Providers = providers;
            // lưu provider xuống file xml
            controller.SaveProviders();
            // hiện thông báo thành công
            MessageBox.Show(this, "Đã lưu dữ liệu thành công", "Lưu dữ liệu thành công", MessageBoxButtons.OK, MessageBoxIcon.Information);
            _isGridViewChanged = false; // gán lại cờ grid view thay đổi = false
        }
Example #3
0
        private void ProviderManager_Load(object sender, EventArgs e)
        {
            // khởi tạo controller
            ContentProviderController controller = new ContentProviderController();
            // load provider từ file xml
            controller.LoadProviders();
            List<ContentProvider> providers = controller.Providers;

            for (int i = 0; i < providers.Count; i++)
            {
                string[] row = new string[] { providers[i].Name, 
                    providers[i].Uri.ToString() , 
                    providers[i].CatagorySelector,
                    providers[i].UrlSelector,
                    providers[i].TitleSelector,
                    providers[i].SummanySelector,
                    providers[i].ContentSelector,
                    providers[i].TimeSelector,
                    providers[i].AuthorSelector
                };
                // thêm một row vào grid view
                providerGridView.Rows.Add(row);
            }
            // khởi tạo cờ thay đổi = false
            _isGridViewChanged = false;
        }
Example #4
0
        public Catagory GetCatagory(string providerName, string catagoryName)
        {
            // load xml từ StreamReader
            XmlDocument xml = new XmlDocument();
            StreamReader sr = new StreamReader(ContentTreeController.TREE_DATA_PATH, Encoding.Unicode);
            xml.Load(sr);

            // lấy toàn bộ node của file xml
            XmlNodeList providers = xml.GetElementsByTagName("provider");

            // duyệt các node để lấy dữ liệu
            for (int i = 0; i < providers.Count; i++)
            {
                XmlNodeList children = providers[i].ChildNodes;

                if (providers[i].Attributes["name"].Value.Trim().ToLower() == providerName.Trim().ToLower()) {

                    // duyệt lấy thông tin từ node con
                    for (int j = 0; j < children.Count; j++)
                    {
                        if (children[j].Attributes["name"].Value.Trim().ToLower() == catagoryName.Trim().ToLower())
                        {
                            _catagory = new Catagory();
                            _catagory.Name = catagoryName;
                            _catagory.Uri = new Uri(children[j].InnerText);
                            ContentProviderController cpc = new ContentProviderController();
                            cpc.LoadProviders();
                            _catagory.Provider = cpc.GetProviderByName(providerName); 
                        }
                    } // end for loop
                }

            }

            sr.Close(); // đóng luồng 

            return _catagory;
        }