public static void CreateFilmTree(TreeView tree) { XDocument xDoc = FileOPs.LoadXmlFile(form_Catalog.filmFileName); tree.Nodes.Clear(); tree.Nodes.Add(new TreeNode(xDoc.Root.Name.ToString())); List <Film> parse = FileOPs.ParseFilmXmlToList(form_Catalog.filmFileName); List <Film> noDupesProducer = parse.GroupBy(a => a.filmProducer).Select(grp => grp.FirstOrDefault()).OrderBy(a => a.filmProducer).ToList(); foreach (Film nDP in noDupesProducer) { tree.Nodes[0].Nodes.Add(nDP.filmProducer); List <Film> filmTitle = parse.FindAll(x => x.filmProducer.Equals(nDP.filmProducer)).OrderBy(s => s.filmTitle).ToList(); foreach (var ft in filmTitle) { tree.Nodes[0].Nodes[noDupesProducer.IndexOf(nDP)].Nodes.Add(ft.filmTitle); } } tree.ExpandAll(); FileOPs.SetFilmLastID(); }
private void Catalog_Load(object sender, EventArgs e) { timer_Preview.Stop(); FileOPs.SetBookLastID(); FileOPs.SetFilmLastID(); if (tc_Info.SelectedTab == tabPage_Book) { grpbox_BookInfo.Hide(); TreeViewOPs.CreateBookTree(tw_Book); } if (tc_Info.SelectedTab == tabPage_Film) { grpbox_FilmInfo.Hide(); TreeViewOPs.CreateFilmTree(tw_Film); } }
private void OnChanged(object source, FileSystemEventArgs e) { Thread.Sleep(10); Invoke((MethodInvoker) delegate { if (tc_Info.SelectedTab == tabPage_Book) { TreeViewOPs.CreateBookTree(tw_Book); } if (tc_Info.SelectedTab == tabPage_Film) { TreeViewOPs.CreateBookTree(tw_Film); } }); FileOPs.SetBookLastID(); FileOPs.SetFilmLastID(); }