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 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); } }