private StartupDatei AddGaitoBotConfig_VorhandeneDatei( string dateiname, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } this.AimlDateiWirdGeladen(dateiname); StartupDatei startupDatei = new StartupDatei(arbeitsbereich); startupDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); try { startupDatei.LiesAusDatei(dateiname, this._arbeitsVerzeichnis); this._dateien.Add((IArbeitsbereichDatei)startupDatei); this.AimlDateiFertigGeladen(); this.DateiAdded((IArbeitsbereichDatei)startupDatei); return(startupDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } }
protected virtual void ArbeitsbereichEntfernt(Arbeitsbereich arbeitsbereich) { if (this.ArbeitsbereichEntferntEvent != null) { this.ArbeitsbereichEntferntEvent(this, new EventArgs <Arbeitsbereich>(arbeitsbereich)); } }
private StartupDatei AddStartUpdateiHinzugelinkteContent( ContentDokument dokument, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } this.AimlDateiWirdGeladen(dokument.Titel); StartupDatei startupDatei = new StartupDatei(arbeitsbereich); startupDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); try { startupDatei.LiesAusString(dokument.Inhalt); startupDatei.Titel = dokument.Titel; startupDatei.ZusatzContentUniqueId = dokument.ZusatzContentUniqueId; startupDatei.NurFuerGaitoBotExportieren = true; startupDatei.ReadOnly = true; startupDatei.Unterverzeichnisse = dokument.Unterverzeichnise; this._dateien.Add((IArbeitsbereichDatei)startupDatei); this.AimlDateiFertigGeladen(); this.DateiAdded((IArbeitsbereichDatei)startupDatei); return(startupDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } }
public StartupDatei AddLeereStartupDatei(Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } bool flag = default(bool); string dateiname = this.ErmittleFreienNamenFuerAimlDatei((string)null, "startup", out flag); if (flag) { return(null); } StartupDatei startupDatei = new StartupDatei(arbeitsbereich); startupDatei.OnChanged += this.AimlDateiOnChanged; startupDatei.LeerFuellen(); startupDatei.Dateiname = dateiname; bool flag2 = default(bool); startupDatei.Save(out flag2); this._dateien.Add(startupDatei); this.DateiAdded(startupDatei); return(startupDatei); }
public StartupDatei AddLeereStartupDatei(Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } bool abgebrochen; string str = this.ErmittleFreienNamenFuerAimlDatei((string)null, "startup", out abgebrochen); if (abgebrochen) { return((StartupDatei)null); } StartupDatei startupDatei = new StartupDatei(arbeitsbereich); startupDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); startupDatei.LeerFuellen(); startupDatei.Dateiname = str; bool cancel; startupDatei.Save(out cancel); this._dateien.Add((IArbeitsbereichDatei)startupDatei); this.DateiAdded((IArbeitsbereichDatei)startupDatei); return(startupDatei); }
public void ArbeitsbereichEntfernen(Arbeitsbereich arbeitsbereich) { if (this._arbeitsbereiche.Contains(arbeitsbereich)) { this._arbeitsbereiche.Remove(arbeitsbereich); this.ArbeitsbereichEntfernt(arbeitsbereich); } }
public bool VorhandenenArbeitsbereichOeffnen(string arbeitsbereichVerzeichnis) { Arbeitsbereich arbeitsbereich = new Arbeitsbereich(arbeitsbereichVerzeichnis); this._arbeitsbereiche.Add(arbeitsbereich); this.ArbeitsbereichAdded(arbeitsbereich); return(true); }
protected virtual void ArbeitsbereichEntfernt(Arbeitsbereich arbeitsbereich) { if (this.ArbeitsbereichEntferntEvent == null) { return; } this.ArbeitsbereichEntferntEvent((object)this, new EventArgs <Arbeitsbereich>(arbeitsbereich)); }
public static void WoSuchenAuswahlFuellen( ToolStripComboBox combo, Arbeitsbereich.WoSuchenOrte welchenSelektieren) { Arbeitsbereich.WoSuchenAuswahlFuellenEiner(combo, Arbeitsbereich.WoSuchenOrte.ImArbeitsbereich, welchenSelektieren); Arbeitsbereich.WoSuchenAuswahlFuellenEiner(combo, Arbeitsbereich.WoSuchenOrte.InAktuellerAIMLDatei, welchenSelektieren); Arbeitsbereich.WoSuchenAuswahlFuellenEiner(combo, Arbeitsbereich.WoSuchenOrte.InAktuellemTopic, welchenSelektieren); }
private static void WoSuchenAuswahlFuellenEiner(ToolStripComboBox combo, WoSuchenOrte ort, WoSuchenOrte welchenSelektieren) { int selectedIndex = combo.Items.Add(Arbeitsbereich.WoSuchenOrt2Name(ort)); if (ort == welchenSelektieren) { combo.SelectedIndex = selectedIndex; } }
public StartupDatei(Arbeitsbereich arbeitsbereich) { this.Unterverzeichnisse = new string[0]; this._arbeitsbereich = arbeitsbereich; this.XML = new XmlDocument(); this.XML.PreserveWhitespace = false; this.XML.NodeChanged += new XmlNodeChangedEventHandler(this.XMLChangedEvent); this.XML.NodeInserted += new XmlNodeChangedEventHandler(this.XMLChangedEvent); this.XML.NodeRemoved += new XmlNodeChangedEventHandler(this.XMLChangedEvent); }
public AIMLDatei(Arbeitsbereich arbeitsbereich) { this.Arbeitsbereich = arbeitsbereich; this.Unterverzeichnisse = new string[0]; this.XML = new XmlDocument(); this.XML.PreserveWhitespace = true; this.XML.NodeChanged += this.XMLChangedEvent; this.XML.NodeInserted += this.XMLChangedEvent; this.XML.NodeRemoved += this.XMLChangedEvent; }
public void VordefinierteDateienHinzulinken(Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } ContentManager contentManager = new ContentManager(); foreach (string contentElementUniqueId in arbeitsbereich.ContentElementUniqueIds) { string uniqueId = contentElementUniqueId; if (!this._dateien.Where <IArbeitsbereichDatei>((Func <IArbeitsbereichDatei, bool>)(d => { if (!string.IsNullOrEmpty(d.ZusatzContentUniqueId)) { return(d.ZusatzContentUniqueId == uniqueId); } return(false); })).Any <IArbeitsbereichDatei>()) { foreach (ContentDokument dokument in contentManager.GetDokumente(uniqueId)) { string dateiExtension = dokument.DateiExtension; if (!(dateiExtension == "aiml")) { if (!(dateiExtension == "startup")) { throw new ApplicationException(string.Format("Unbekannte Content-Datei-Extension '{0}' in '{1}'", (object)dokument.DateiExtension, (object)dokument.Titel)); } this.DateiAdded((IArbeitsbereichDatei)this.AddStartUpdateiHinzugelinkteContent(dokument, arbeitsbereich)); } else { this.DateiAdded((IArbeitsbereichDatei)this.AddAimlHinzugelinkteContentDatei(dokument, arbeitsbereich)); } } } } List <IArbeitsbereichDatei> arbeitsbereichDateiList = new List <IArbeitsbereichDatei>(); foreach (IArbeitsbereichDatei arbeitsbereichDatei in this.Dateien) { if (!string.IsNullOrEmpty(arbeitsbereichDatei.ZusatzContentUniqueId) && !((IEnumerable <string>)arbeitsbereich.ContentElementUniqueIds).Contains <string>(arbeitsbereichDatei.ZusatzContentUniqueId)) { arbeitsbereichDateiList.Add(arbeitsbereichDatei); } } foreach (IArbeitsbereichDatei datei in arbeitsbereichDateiList) { this.DateiLoeschen(datei, arbeitsbereich); } }
private void ArbeitsbereichDurchsuchen(Arbeitsbereich arbeitsbereich, string suchEingabe) { if (arbeitsbereich != null) { foreach (IArbeitsbereichDatei item in arbeitsbereich.Dateiverwaltung.Dateien) { if (item is AIMLDatei) { this.AIMLDateiDurchsuchen((AIMLDatei)item, suchEingabe); } } } }
private static void WoSuchenAuswahlFuellenEiner( ToolStripComboBox combo, Arbeitsbereich.WoSuchenOrte ort, Arbeitsbereich.WoSuchenOrte welchenSelektieren) { int num = combo.Items.Add((object)Arbeitsbereich.WoSuchenOrt2Name(ort)); if (ort != welchenSelektieren) { return; } combo.SelectedIndex = num; }
private void ArbeitsbereichDurchsuchen(Arbeitsbereich arbeitsbereich, string suchEingabe) { if (arbeitsbereich == null) { return; } foreach (IArbeitsbereichDatei arbeitsbereichDatei in arbeitsbereich.Dateiverwaltung.Dateien) { if (arbeitsbereichDatei is AIMLDatei) { this.AIMLDateiDurchsuchen((AIMLDatei)arbeitsbereichDatei, suchEingabe); } } }
public void VordefinierteDateienHinzulinken(Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } ContentManager contentManager = new ContentManager(); string[] contentElementUniqueIds = arbeitsbereich.ContentElementUniqueIds; foreach (string uniqueId in contentElementUniqueIds) { if (!(from d in this._dateien where !string.IsNullOrEmpty(d.ZusatzContentUniqueId) && d.ZusatzContentUniqueId == uniqueId select d).Any()) { List <ContentDokument> dokumente = contentManager.GetDokumente(uniqueId); foreach (ContentDokument item in dokumente) { string dateiExtension = item.DateiExtension; if (!(dateiExtension == "aiml")) { if (dateiExtension == "startup") { StartupDatei datei = this.AddStartUpdateiHinzugelinkteContent(item, arbeitsbereich); this.DateiAdded(datei); continue; } throw new ApplicationException(string.Format("Unbekannte Content-Datei-Extension '{0}' in '{1}'", item.DateiExtension, item.Titel)); } AIMLDatei datei2 = this.AddAimlHinzugelinkteContentDatei(item, arbeitsbereich); this.DateiAdded(datei2); } } } List <IArbeitsbereichDatei> list = new List <IArbeitsbereichDatei>(); foreach (IArbeitsbereichDatei item2 in this.Dateien) { if (!string.IsNullOrEmpty(item2.ZusatzContentUniqueId) && !arbeitsbereich.ContentElementUniqueIds.Contains(item2.ZusatzContentUniqueId)) { list.Add(item2); } } foreach (IArbeitsbereichDatei item3 in list) { this.DateiLoeschen(item3, arbeitsbereich); } }
public bool NeuenArbeitsbereichErstellenUndOeffnen() { bool abgebrochen = false; string str = InputBox.Show(ResReader.Reader.GetString("NamenFuerNeuenArbeitsbereichEingeben"), ResReader.Reader.GetString("NeuenArbeitsbereicherzeugen"), ResReader.Reader.GetString("unbenannt"), out abgebrochen); if (abgebrochen) { return(false); } Arbeitsbereich arbeitsbereich = new Arbeitsbereich(); arbeitsbereich.Name = str; this._arbeitsbereiche.Add(arbeitsbereich); this.ArbeitsbereichAdded(arbeitsbereich); return(true); }
public StartupDatei VorhandeneExterneStartupDateiImportieren( string externerDateiname, Arbeitsbereich zielArbeitsbereich) { if (zielArbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = StartupDatei.TitelAusDateinameHerleiten(externerDateiname); bool abgebrochen = false; string str = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "startup", out abgebrochen); if (abgebrochen) { return((StartupDatei)null); } try { File.Copy(externerDateiname, str); } catch (Exception ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } this.AimlDateiWirdGeladen(str); StartupDatei startupDatei = new StartupDatei(zielArbeitsbereich); startupDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); try { startupDatei.LiesAusDatei(str, this._arbeitsVerzeichnis); this._dateien.Add((IArbeitsbereichDatei)startupDatei); this.AimlDateiFertigGeladen(); return(startupDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex1) { try { File.Delete(str); } catch (Exception ex2) { } throw new AIMLDatei.AIMLDateiNichtGeladenException(ex1.Message); } }
public IArbeitsbereichDatei LadeEinzelneGaitoBotConfigDateiDirektOhneKopieEin( string dateiname, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } StartupDatei startupDatei; try { startupDatei = this.AddGaitoBotConfig_VorhandeneDatei(dateiname, arbeitsbereich); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { Debugger.GlobalDebugger.FehlerZeigen(string.Format(ResReader.Reader.GetString("AIMLDateiLadeFehler"), (object)dateiname, (object)ex.Message), (object)this, "LadeDatei"); return((IArbeitsbereichDatei)null); } return((IArbeitsbereichDatei)startupDatei); }
public AIMLDatei AddAimlLeereDatei( Arbeitsbereich arbeitsbereich, bool ersteDateiMitBeispielen) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = (string)null; if (ersteDateiMitBeispielen) { vorgabe = ResReader.Reader.GetString("MeineErsteAimlDatei"); } bool abgebrochen; string str = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "aiml", out abgebrochen); if (abgebrochen) { return((AIMLDatei)null); } AIMLDatei aimlDatei = new AIMLDatei(arbeitsbereich); aimlDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); if (ersteDateiMitBeispielen) { aimlDatei.MitTargetBotStartFuellen(); } else { aimlDatei.LeerFuellen(); } aimlDatei.Dateiname = str; bool cancel; aimlDatei.Save(out cancel); this._dateien.Add((IArbeitsbereichDatei)aimlDatei); this.DateiAdded((IArbeitsbereichDatei)aimlDatei); return(aimlDatei); }
public bool DateiLoeschen(IArbeitsbereichDatei datei, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } bool flag1 = !string.IsNullOrEmpty(datei.ZusatzContentUniqueId); bool flag2; if (this._dateien.Contains(datei)) { if (flag1 || MessageBox.Show(string.Format(ResReader.Reader.GetString("AIMLDateiWirklichLoeschen"), (object)datei.Dateiname), "", MessageBoxButtons.YesNoCancel) == DialogResult.Yes) { try { if (!flag1) { File.Delete(datei.Dateiname); } this._dateien.Remove(datei); arbeitsbereich.Verlauf.AlleVerweiseDieserDateiEntfernen(datei); flag2 = true; } catch (Exception ex) { flag2 = false; } } else { flag2 = false; } } else { flag2 = false; } this.AimlDateiRemoved(datei); return(flag2); }
public AIMLDatei AddAimlLeereDatei(Arbeitsbereich arbeitsbereich, bool ersteDateiMitBeispielen) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = null; if (ersteDateiMitBeispielen) { vorgabe = ResReader.Reader.GetString("MeineErsteAimlDatei"); } bool flag = default(bool); string dateiname = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "aiml", out flag); if (flag) { return(null); } AIMLDatei aIMLDatei = new AIMLDatei(arbeitsbereich); aIMLDatei.OnChanged += this.AimlDateiOnChanged; if (ersteDateiMitBeispielen) { aIMLDatei.MitTargetBotStartFuellen(); } else { aIMLDatei.LeerFuellen(); } aIMLDatei.Dateiname = dateiname; bool flag2 = default(bool); aIMLDatei.Save(out flag2); this._dateien.Add(aIMLDatei); this.DateiAdded(aIMLDatei); return(aIMLDatei); }
public AIMLDatei AddAimlVorhandeneDatei(string dateiname, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } this.AimlDateiWirdGeladen(dateiname); AIMLDatei aIMLDatei = new AIMLDatei(arbeitsbereich); aIMLDatei.OnChanged += this.AimlDateiOnChanged; try { aIMLDatei.LiesAusDatei(dateiname, this._arbeitsVerzeichnis); this._dateien.Add(aIMLDatei); this.AimlDateiFertigGeladen(); this.DateiAdded(aIMLDatei); return(aIMLDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } }
public StartupDatei VorhandeneExterneStartupDateiImportieren(string externerDateiname, Arbeitsbereich zielArbeitsbereich) { if (zielArbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = StartupDatei.TitelAusDateinameHerleiten(externerDateiname); bool flag = false; string text = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "startup", out flag); if (flag) { return(null); } try { File.Copy(externerDateiname, text); } catch (Exception ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } this.AimlDateiWirdGeladen(text); StartupDatei startupDatei = new StartupDatei(zielArbeitsbereich); startupDatei.OnChanged += this.AimlDateiOnChanged; try { startupDatei.LiesAusDatei(text, this._arbeitsVerzeichnis); this._dateien.Add(startupDatei); this.AimlDateiFertigGeladen(); return(startupDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex3) { try { File.Delete(text); } catch (Exception) { } throw new AIMLDatei.AIMLDateiNichtGeladenException(ex3.Message); } }
public IArbeitsbereichDatei LadeEinzelneAimlDateiDirektOhneKopieEin(string dateiname, Arbeitsbereich arbeitsbereich) { if (arbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } try { return(this.AddAimlVorhandeneDatei(dateiname, arbeitsbereich)); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { Debugger.GlobalDebugger.FehlerZeigen(string.Format(ResReader.Reader.GetString("AIMLDateiLadeFehler"), dateiname, ex.Message), this, "LadeDatei"); return(null); } }
public WorkflowAnalyser(Arbeitsbereich arbeitsbereich, AIMLCategory kategorie) { this._arbeitsbereich = arbeitsbereich; this._kategorie = kategorie; }