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