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(); }
public static void CreateBookTree(TreeView tree) { XDocument xDoc = FileOPs.LoadXmlFile(form_Catalog.bookFileName); tree.Nodes.Clear(); tree.Nodes.Add(new TreeNode(xDoc.Root.Name.ToString())); List <Book> parse = FileOPs.ParseBookXmlToList(form_Catalog.bookFileName); List <Book> noDupesAuthor = parse.GroupBy(a => a.bookAuthor).Select(grp => grp.FirstOrDefault()).OrderBy(a => a.bookAuthor).ToList(); foreach (Book nDA in noDupesAuthor) { tree.Nodes[0].Nodes.Add(nDA.bookAuthor); List <Book> bookSeries = parse.FindAll(x => x.bookAuthor.Equals(nDA.bookAuthor)).GroupBy(s => s.bookSeries).Select(grp => grp.FirstOrDefault()).OrderBy(s => s.bookSeries).ToList(); foreach (var bs in bookSeries) { tree.Nodes[0].Nodes[noDupesAuthor.IndexOf(nDA)].Nodes.Add(bs.bookSeries); List <Book> bookTitle = parse.FindAll(x => x.bookAuthor.Equals(nDA.bookAuthor) && x.bookSeries.Equals(bs.bookSeries)); foreach (var bn in bookTitle) { tree.Nodes[0].Nodes[noDupesAuthor.IndexOf(nDA)].Nodes[bookSeries.IndexOf(bs)].Nodes.Add(bn.bookTitle); } } } tree.ExpandAll(); FileOPs.SetBookLastID(); }
private void form_ViewXML_Load(object sender, EventArgs e, string file) { rtbXMLInfo.Text = FileOPs.LoadXmlFile(file).ToString(); }