diff --git a/AirplaneWithRadar/AirplaneWithRadar/FormAirplaneConfig.Designer.cs b/AirplaneWithRadar/AirplaneWithRadar/FormAirplaneConfig.Designer.cs index 2ae1b90..32825b5 100644 --- a/AirplaneWithRadar/AirplaneWithRadar/FormAirplaneConfig.Designer.cs +++ b/AirplaneWithRadar/AirplaneWithRadar/FormAirplaneConfig.Designer.cs @@ -155,7 +155,7 @@ // // panelPurple // - this.panelPurple.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192))))); + this.panelPurple.BackColor = System.Drawing.Color.Purple; this.panelPurple.Location = new System.Drawing.Point(168, 59); this.panelPurple.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.panelPurple.Name = "panelPurple"; diff --git a/AirplaneWithRadar/AirplaneWithRadar/FormMapWithSetAirplane.cs b/AirplaneWithRadar/AirplaneWithRadar/FormMapWithSetAirplane.cs index 9da5e58..16181cf 100644 --- a/AirplaneWithRadar/AirplaneWithRadar/FormMapWithSetAirplane.cs +++ b/AirplaneWithRadar/AirplaneWithRadar/FormMapWithSetAirplane.cs @@ -246,11 +246,12 @@ namespace AirplaneWithRadar { if (saveFileDialog.ShowDialog() == DialogResult.OK) { - if (_mapsCollection.SaveData(saveFileDialog.FileName)) + try { + _mapsCollection.SaveData(saveFileDialog.FileName); MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); } - else + catch (Exception ex) { MessageBox.Show("Не сохранилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); } @@ -266,12 +267,13 @@ namespace AirplaneWithRadar // TODO продумать логику if (openFileDialog.ShowDialog() == DialogResult.OK) { - if (_mapsCollection.LoadData(openFileDialog.FileName)) + try { + _mapsCollection.LoadData(openFileDialog.FileName); ReloadMaps(); MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); } - else + catch (Exception ex) { MessageBox.Show("Не получилось загрузить файл", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); } diff --git a/AirplaneWithRadar/AirplaneWithRadar/MapsCollection.cs b/AirplaneWithRadar/AirplaneWithRadar/MapsCollection.cs index 9cb12c8..6295221 100644 --- a/AirplaneWithRadar/AirplaneWithRadar/MapsCollection.cs +++ b/AirplaneWithRadar/AirplaneWithRadar/MapsCollection.cs @@ -54,7 +54,7 @@ namespace AirplaneWithRadar /// /// Путь и имя файла /// - public bool SaveData(string filename) + public void SaveData(string filename) { if (File.Exists(filename)) { @@ -68,61 +68,47 @@ namespace AirplaneWithRadar sw.Write($"{storage.Key}{separatorDict}{storage.Value.GetData(separatorDict, separatorData)}{Environment.NewLine}"); } } - return true; } /// /// Загрузка информации по локомотивам в депо из файла /// /// /// - public bool LoadData(string filename) + public void LoadData(string filename) { if (!File.Exists(filename)) { - return false; + throw new FileNotFoundException("Файл не найден"); } using (StreamReader sr = new(filename)) { - bool isFirst = true; - string str; + string str = sr.ReadLine(); + if (!str.Contains("MapsCollection")) + { + //если нет такой записи, то это не те данные + throw new FileFormatException("Формат данных в файле не правильный"); + } + _mapStorages.Clear(); while ((str = sr.ReadLine()) != null) { - if (isFirst) + var elem = str.Split(separatorDict); + AbstractMap map = null; + switch (elem[1]) { - if (!str.Contains("MapsCollection")) - { - //если нет такой записи, то это не те данные - return false; - } - else - { - //очищаем записи - _mapStorages.Clear(); - } - isFirst = false; - } - else - { - var elem = str.Split(separatorDict); - AbstractMap map = null; - switch (elem[1]) - { - case "Простая карта": - map = new SimpleMap(); - break; - case "Карта неба с облаками": - map = new SkyMap(); - break; - case "Карта туманного неба с грозой": - map = new FoggySkyMap(); - break; - } - _mapStorages.Add(elem[0], new MapWithSetAirplaneGeneric(_pictureWidth, _pictureHeight, map)); - _mapStorages[elem[0]].LoadData(elem[2].Split(separatorData, StringSplitOptions.RemoveEmptyEntries)); + case "SimpleMap": + map = new SimpleMap(); + break; + case "SkyMap": + map = new SkyMap(); + break; + case "FoggySkyMap": + map = new FoggySkyMap(); + break; } + _mapStorages.Add(elem[0], new MapWithSetAirplaneGeneric(_pictureWidth, _pictureHeight, map)); + _mapStorages[elem[0]].LoadData(elem[2].Split(separatorData, StringSplitOptions.RemoveEmptyEntries)); } } - return true; } } }