private void buttonExportStarten_Click(object sender, EventArgs e) { if (this._arbeitsbereich.Exportverzeichnis != this.textBoxExportVerzeichnis.Text) { this._arbeitsbereich.Exportverzeichnis = this.textBoxExportVerzeichnis.Text; } if (this._arbeitsbereich.Dateiverwaltung.DateienIsChanged) { if (MessageBox.Show(ResReader.Reader.GetString("ArbeitsBereichMussVorExportGespeichertWerden"), nameof(Export), MessageBoxButtons.YesNoCancel) == DialogResult.Yes) { this._arbeitsbereich.SaveAll(); } else { int num = (int)MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } } string exportverzeichnis = this._arbeitsbereich.Exportverzeichnis; try { if (!Directory.Exists(exportverzeichnis)) { if (MessageBox.Show(ResReader.Reader.GetString("SollExportVerzeichnisAngelegtWerden"), nameof(Export), MessageBoxButtons.YesNoCancel) == DialogResult.Yes) { Directory.CreateDirectory(exportverzeichnis); } else { int num = (int)MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } } } catch (Exception ex) { Debugger.GlobalDebugger.FehlerZeigen(ex.Message, (object)("CreateExportDirectory '" + exportverzeichnis + "'"), nameof(Export)); int num = (int)MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } this.Enabled = false; bool abgebrochen = false; Arbeitsbereich.VerzeichnisVorherLeeren verzeichnisVorherLeeren = Arbeitsbereich.VerzeichnisVorherLeeren.nichtLeeren; if (this.checkBoxVorExportVerzeichnisLeeren.Checked) { verzeichnisVorherLeeren = Arbeitsbereich.VerzeichnisVorherLeeren.leerenUndVorherFragen; } this._arbeitsbereich.Exportieren(exportverzeichnis, verzeichnisVorherLeeren, this._arbeitsbereich.AlleStarTagsInExtraDateiExportieren, false, out abgebrochen); if (abgebrochen) { int num1 = (int)MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); } else { int num2 = (int)MessageBox.Show(ResReader.Reader.GetString("ExportErfolgreich")); } this.Enabled = true; }
private void buttonExportStarten_Click(object sender, EventArgs e) { if (this._arbeitsbereich.Exportverzeichnis != this.textBoxExportVerzeichnis.Text) { this._arbeitsbereich.Exportverzeichnis = this.textBoxExportVerzeichnis.Text; } if (this._arbeitsbereich.Dateiverwaltung.DateienIsChanged) { DialogResult dialogResult = MessageBox.Show(ResReader.Reader.GetString("ArbeitsBereichMussVorExportGespeichertWerden"), "Export", MessageBoxButtons.YesNoCancel); if (dialogResult == DialogResult.Yes) { this._arbeitsbereich.SaveAll(); goto IL_00a2; } MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } goto IL_00a2; IL_00a2: string exportverzeichnis = this._arbeitsbereich.Exportverzeichnis; try { if (!Directory.Exists(exportverzeichnis)) { DialogResult dialogResult2 = MessageBox.Show(ResReader.Reader.GetString("SollExportVerzeichnisAngelegtWerden"), "Export", MessageBoxButtons.YesNoCancel); if (dialogResult2 == DialogResult.Yes) { Directory.CreateDirectory(exportverzeichnis); goto end_IL_00ae; } MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } end_IL_00ae :; } catch (Exception ex) { Debugger.GlobalDebugger.FehlerZeigen(ex.Message, "CreateExportDirectory '" + exportverzeichnis + "'", "Export"); MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); return; } base.Enabled = false; bool flag = false; Arbeitsbereich.VerzeichnisVorherLeeren verzeichnisVorherLeeren = Arbeitsbereich.VerzeichnisVorherLeeren.nichtLeeren; if (this.checkBoxVorExportVerzeichnisLeeren.Checked) { verzeichnisVorherLeeren = Arbeitsbereich.VerzeichnisVorherLeeren.leerenUndVorherFragen; } this._arbeitsbereich.Exportieren(exportverzeichnis, verzeichnisVorherLeeren, this._arbeitsbereich.AlleStarTagsInExtraDateiExportieren, false, out flag); if (flag) { MessageBox.Show(ResReader.Reader.GetString("ExportAbgebrochen")); } else { MessageBox.Show(ResReader.Reader.GetString("ExportErfolgreich")); } base.Enabled = true; }
public void Exportieren( string exportVerzeichnis, Arbeitsbereich.VerzeichnisVorherLeeren verzeichnisVorherLeeren, bool alleStarTagsInExtraDateiExportieren, bool exportFuerGaitoBotDePublizierung, out bool abgebrochen) { if (!Directory.Exists(exportVerzeichnis)) { throw new ApplicationException(string.Format("Exportverzeichnis '{0}' nicht vorhanden!", (object)exportVerzeichnis)); } if ((uint)verzeichnisVorherLeeren > 0U) { if (verzeichnisVorherLeeren == Arbeitsbereich.VerzeichnisVorherLeeren.leerenUndVorherFragen && MessageBox.Show(string.Format(ResReader.Reader.GetString("ExportVerzeichnisWirklichLeeren"), (object)exportVerzeichnis), ResReader.Reader.GetString("Export"), MessageBoxButtons.YesNo) != DialogResult.Yes) { abgebrochen = true; return; } foreach (string directory in Directory.GetDirectories(exportVerzeichnis)) { try { Directory.Delete(directory, true); } catch (Exception ex) { int num = (int)MessageBox.Show(string.Format(ml.ml_string(70, "Das Verzeichnis '{0}' konnte nicht gelöscht werden: {1}"), (object)directory, (object)ex.Message)); abgebrochen = true; return; } } foreach (string file in Directory.GetFiles(exportVerzeichnis)) { try { File.Delete(file); } catch (Exception ex) { int num = (int)MessageBox.Show(string.Format(ml.ml_string(71, "Die Datei '{0}' konnte nicht gelöscht werden: {1}"), (object)file, (object)ex.Message)); abgebrochen = true; return; } } } if (alleStarTagsInExtraDateiExportieren) { StringCollection stringCollection = new StringCollection(); foreach (IArbeitsbereichDatei arbeitsbereichDatei in this.GetZuExportierendeDateien(exportFuerGaitoBotDePublizierung)) { if (arbeitsbereichDatei is AIMLDatei) { AIMLDatei aimlDatei1 = (AIMLDatei)arbeitsbereichDatei; AIMLDatei aimlDatei2 = new AIMLDatei(this); aimlDatei2.LiesAusString(aimlDatei1.XML.OuterXml); List <AIMLCategory> aimlCategoryList = new List <AIMLCategory>(); foreach (AIMLCategory category in aimlDatei2.RootTopic.Categories) { if (category.That == "" && category.Pattern == "*") { stringCollection.Add(category.Template); aimlCategoryList.Add(category); } } foreach (AIMLCategory category in aimlCategoryList) { aimlDatei2.RootTopic.LoescheCategory(category); } StringBuilder stringBuilder = new StringBuilder(); foreach (string str in aimlDatei1.Unterverzeichnisse) { stringBuilder.AppendFormat("{0}_", (object)str); } string str1 = string.Format("{0}\\{1}{2}.aiml", (object)exportVerzeichnis, (object)stringBuilder.ToString(), (object)aimlDatei1.Titel); aimlDatei2.Dateiname = str1; bool cancel = false; aimlDatei2.Save(out cancel); } } if ((uint)stringCollection.Count > 0U) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<pattern>*</pattern><template><random>"); foreach (string str in stringCollection) { stringBuilder.AppendFormat("<li>{0}</li>", (object)str); } stringBuilder.Append("</random></template>"); AIMLDatei aimlDatei = new AIMLDatei(this); aimlDatei.LeerFuellen(); aimlDatei.Dateiname = string.Format("{0}\\_stars_.aiml", (object)exportVerzeichnis); aimlDatei.RootTopic.AddNewCategory().ContentNode.InnerXml = stringBuilder.ToString(); bool cancel = false; if (File.Exists(aimlDatei.Dateiname)) { File.Delete(aimlDatei.Dateiname); } aimlDatei.Save(out cancel); } foreach (IArbeitsbereichDatei arbeitsbereichDatei in this.GetZuExportierendeDateien(exportFuerGaitoBotDePublizierung)) { if (arbeitsbereichDatei is StartupDatei) { StartupDatei startupDatei = (StartupDatei)arbeitsbereichDatei; StringBuilder stringBuilder = new StringBuilder(); foreach (string baustein in arbeitsbereichDatei.Unterverzeichnisse) { stringBuilder.AppendFormat("{0}_", (object)this.DateinameBausteinBereinigt(baustein)); } string str1 = "startup"; string str2 = string.Format("{0}\\{1}{2}.{3}", (object)exportVerzeichnis, (object)stringBuilder.ToString(), (object)this.DateinameBausteinBereinigt(startupDatei.Titel), (object)str1); string dateiname = startupDatei.Dateiname; if (string.IsNullOrEmpty(dateiname)) { ToolboxStrings.String2File(startupDatei.XML.OuterXml, str2); } else { File.Copy(dateiname, str2, true); } } } } else { foreach (IArbeitsbereichDatei arbeitsbereichDatei in this.GetZuExportierendeDateien(exportFuerGaitoBotDePublizierung)) { StringBuilder stringBuilder = new StringBuilder(); foreach (string baustein in arbeitsbereichDatei.Unterverzeichnisse) { stringBuilder.AppendFormat("{0}_", (object)this.DateinameBausteinBereinigt(baustein)); } string str1; if (arbeitsbereichDatei is AIMLDatei) { str1 = "aiml"; } else { if (!(arbeitsbereichDatei is StartupDatei)) { throw new ApplicationException(string.Format("Datei '{0}' hat einen unbekannten Typ", (object)arbeitsbereichDatei.Titel)); } str1 = "startup"; } string str2 = string.Format("{0}\\{1}{2}.{3}", (object)exportVerzeichnis, (object)stringBuilder.ToString(), (object)this.DateinameBausteinBereinigt(arbeitsbereichDatei.Titel), (object)str1); string dateiname = arbeitsbereichDatei.Dateiname; if (string.IsNullOrEmpty(dateiname)) { ToolboxStrings.String2File(arbeitsbereichDatei.XML.OuterXml, str2); } else { File.Copy(dateiname, str2, true); } } } abgebrochen = false; }