//Invoked by "BatchExtract". public void BatchExtract(string indexString, string folderPath, NamingInfo namingInfo) { progressBar.Visibility = Visibility.Visible; progressBar.Value = 0; PBSetValue(5); XmlDocument smryXml = GetRightSummaryXml(); XmlNodeList summaryList = smryXml.GetElementsByTagName("Summary"); PBSetValue(20); //Create file name ArrayList by users selected naming method. ArrayList fileNames = new ArrayList(); switch (namingInfo.namingMethod) { case NamingMethod.Enumerate: for (int i = 1; i <= summaryList.Count; i++) { fileNames.Add(i.ToString()); } break; case NamingMethod.Origin: for (int i = 0; i < summaryList.Count; i++) { fileNames.Add(System.IO.Path.GetFileNameWithoutExtension(((XmlElement)summaryList[i]).GetAttribute("path"))); } break; case NamingMethod.Att: foreach (WrapPanel tempWrap in listBox.Items) { string contentString = (tempWrap.Children[1] as TextBlock).Text; fileNames.Add(System.IO.Path.GetFileNameWithoutExtension(contentString.Substring("Content= \"".Count(), contentString.Count() - "Content= \"".Count()).TrimEnd('\"'))); } break; case NamingMethod.Index: fileNames.Add(new string[1] { namingInfo.indexString }); break; } PBSetValue(40); extractInfo eInfo = new extractInfo(ref smryXml, indexString, fileNames, folderPath); AttachmentExtractor.Extract(eInfo); PBSetValue(100); progressBar.Visibility = Visibility.Hidden; }
private void okButton_Click(object sender, MouseButtonEventArgs e) { if (folderPath != "") { if (MessageBox.Show("Click \"OK\" to Extract.\r\n" + "Please check the Information again.", "BatchExtract", MessageBoxButton.OKCancel, MessageBoxImage.Information) == MessageBoxResult.OK) { ((sender as Label).Parent as Border).Opacity = 0.5; NamingInfo namingInfo = new NamingInfo(); if (enumerateRadio.IsChecked == true) { namingInfo = new NamingInfo(NamingMethod.Enumerate); } else if (originRadio.IsChecked == true) { namingInfo = new NamingInfo(NamingMethod.Origin); } else if (attRadio.IsChecked == true) { namingInfo = new NamingInfo(NamingMethod.Att); } else if (indexRadio.IsChecked == true) { if (nblockIndexTextbox.Text != "" && nitemIndexTextbox.Text != "") { namingInfo = new NamingInfo("\"" + nblockIndexTextbox.Text + "," + nitemIndexTextbox.Text + "\""); } else { MessageBox.Show("Please input an Index.", "Batch Extract", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } } (this.Owner as MainWindow).BatchExtract("\"" + blockIndexTextbox.Text + "," + itemIndexTextbox.Text + "\"", folderPath, namingInfo); this.Close(); } } else { MessageBox.Show("Please select a Folder.", "Batch Extract", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }