private void folderView_SelectionChanged(object sender, SelectionChangedEventArgs e) { MetaInfo item = (MetaInfo)folderView.SelectedValue; if (item == null) { return; } openXML(item.filename, item.paperid); }
private void openFolder(string folder) { this.folder = folder; string[] files = Directory.GetFiles(folder, "*.xml"); List <MetaInfo> metainfos = new List <MetaInfo>(); foreach (string file in files) { List <MetaInfo> fmetainfos = MetaInfo.loadMetaInfos(file); foreach (MetaInfo meta in fmetainfos) { metainfos.Add(meta); } } folderView.ItemsSource = metainfos; if (metainfos.Count < 1) { folderView.Visibility = System.Windows.Visibility.Collapsed; } else { folderView.Visibility = System.Windows.Visibility.Visible; } }
public static List <MetaInfo> loadMetaInfos(string filename) { List <MetaInfo> rt = new List <MetaInfo>(); MetaInfo mi = null; try { XDocument xdoc = XDocument.Load(filename); string conference = xdoc.Root.Attribute("shortName").Value; string deadline = ""; // xdoc.Root.Attribute("ReviewDeadline").Value; string purefilename = Path.GetFileNameWithoutExtension(filename); var papers = xdoc.Root.Descendants("submission"); foreach (XElement paper in papers) { mi = new MetaInfo(); mi.valid = true; mi.filename = filename; mi.conference = conference; mi.deadline = deadline; mi.purefilename = purefilename; mi.paperid = paper.Attribute("id").Value; mi.title = paper.Attribute("title").Value; try { string[] pdfs = Directory.GetFiles(System.IO.Path.GetDirectoryName(filename), "Paper " + mi.paperid + ".pdf"); if (pdfs.Length > 0) { mi.pdf = pdfs[0]; } else { pdfs = Directory.GetFiles(System.IO.Path.GetDirectoryName(filename), "Paper " + mi.paperid + "(*).pdf"); if (pdfs.Length > 0) { mi.pdf = pdfs[0]; } else { pdfs = Directory.GetFiles(System.IO.Path.GetDirectoryName(filename) + System.IO.Path.DirectorySeparatorChar + "Assigned Papers", "Paper " + mi.paperid + ".pdf"); if (pdfs.Length > 0) { mi.pdf = pdfs[0]; } else { mi.pdf = null; } } } } catch (Exception) { mi.pdf = null; } if (mi.pdf != null) { mi.info = "PDF"; mi.pdfbrowser = "file:///" + mi.pdf; } else { mi.info = ""; mi.pdfbrowser = "about:blank"; } rt.Add(mi); } } catch (Exception) { } return(rt); }