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; }
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 }
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; }
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; }