Example #1
0
        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);
            }
        }