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 += new EventHandler(this.AimlDateiOnChanged); try { aimlDatei.LiesAusDatei(dateiname, this._arbeitsVerzeichnis); this._dateien.Add((IArbeitsbereichDatei)aimlDatei); this.AimlDateiFertigGeladen(); this.DateiAdded((IArbeitsbereichDatei)aimlDatei); return(aimlDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } }
public AIMLDatei VorhandeneExterneAimlDateiImportieren( string externerDateiname, Arbeitsbereich zielArbeitsbereich) { if (zielArbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = AIMLDatei.TitelAusDateinameHerleiten(externerDateiname); bool abgebrochen = false; string str = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "aiml", out abgebrochen); if (abgebrochen) { return((AIMLDatei)null); } try { File.Copy(externerDateiname, str); } catch (Exception ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } this.AimlDateiWirdGeladen(str); AIMLDatei aimlDatei = new AIMLDatei(zielArbeitsbereich); aimlDatei.OnChanged += new EventHandler(this.AimlDateiOnChanged); try { aimlDatei.LiesAusDatei(str, this._arbeitsVerzeichnis); this._dateien.Add((IArbeitsbereichDatei)aimlDatei); this.AimlDateiFertigGeladen(); return(aimlDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex1) { try { File.Delete(str); } catch (Exception ex2) { } throw new AIMLDatei.AIMLDateiNichtGeladenException(ex1.Message); } }
public AIMLDatei VorhandeneExterneAimlDateiImportieren(string externerDateiname, Arbeitsbereich zielArbeitsbereich) { if (zielArbeitsbereich.Dateiverwaltung != this) { throw new ApplicationException("Arbeitsbereich passt nicht zur ArbeitsbereichDateiverwaltung!"); } string vorgabe = AIMLDatei.TitelAusDateinameHerleiten(externerDateiname); bool flag = false; string text = this.ErmittleFreienNamenFuerAimlDatei(vorgabe, "aiml", out flag); if (flag) { return(null); } try { File.Copy(externerDateiname, text); } catch (Exception ex) { throw new AIMLDatei.AIMLDateiNichtGeladenException(ex.Message); } this.AimlDateiWirdGeladen(text); AIMLDatei aIMLDatei = new AIMLDatei(zielArbeitsbereich); aIMLDatei.OnChanged += this.AimlDateiOnChanged; try { aIMLDatei.LiesAusDatei(text, this._arbeitsVerzeichnis); this._dateien.Add(aIMLDatei); this.AimlDateiFertigGeladen(); return(aIMLDatei); } catch (AIMLDatei.AIMLDateiNichtGeladenException ex3) { try { File.Delete(text); } catch (Exception) { } throw new AIMLDatei.AIMLDateiNichtGeladenException(ex3.Message); } }