Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 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;
 }