diff --git a/Airbus/Airbus/Airbus.csproj b/Airbus/Airbus/Airbus.csproj
index 90645bb..66d2207 100644
--- a/Airbus/Airbus/Airbus.csproj
+++ b/Airbus/Airbus/Airbus.csproj
@@ -8,21 +8,14 @@
enable
-
-
-
-
-
-
- Always
-
-
-
+
+
+
diff --git a/Airbus/Airbus/FormMapWithSetPlanes.cs b/Airbus/Airbus/FormMapWithSetPlanes.cs
index 7b1afab..abeb67b 100644
--- a/Airbus/Airbus/FormMapWithSetPlanes.cs
+++ b/Airbus/Airbus/FormMapWithSetPlanes.cs
@@ -71,11 +71,13 @@ namespace Airbus
if (comboBoxSelectorMap.SelectedIndex == -1 || string.IsNullOrEmpty(textBoxNewMapName.Text))
{
MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ _logger.LogWarning("При добавлении карты {0}", comboBoxSelectorMap.SelectedIndex == -1 ? "Не была выбрана карта" : "Не была названа карта");
return;
}
if (!_mapsDict.ContainsKey(comboBoxSelectorMap.Text))
{
MessageBox.Show("Нет такой карты", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ _logger.LogWarning("Отсутствует карта с типом {0}", comboBoxSelectorMap.Text);
return;
}
_mapsCollection.AddMap(textBoxNewMapName.Text,
@@ -91,6 +93,7 @@ namespace Airbus
private void listBoxMaps_SelectedIndexChanged_1(object sender, EventArgs e)
{
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
+ _logger.LogInformation("Осуществлён переход на карту под названием {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty);
}
///
/// Удаление карты
@@ -105,6 +108,7 @@ namespace Airbus
}
if (MessageBox.Show($"Удалить карту {listBoxMaps.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
+ _logger.LogInformation("Удалена карта {0}", listBoxMaps.SelectedItem?.ToString() ?? string.Empty);
_mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty);
ReloadMaps();
}
@@ -118,25 +122,35 @@ namespace Airbus
{
var formPlaneConfig = new FormPlaneConfig();
formPlaneConfig.AddEvent(AddPlane);
- // TODO
formPlaneConfig.Show();
}
private void AddPlane(DrawningPlane plane)
{
- if (listBoxMaps.SelectedIndex == -1)
+ try
{
- MessageBox.Show("Перед добавлением объекта необходимо создать карту");
+ if (listBoxMaps.SelectedIndex == -1)
+ {
+ MessageBox.Show("Перед добавлением объекта необходимо создать карту");
+ }
+ else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawningObjectPlane(plane) != -1)
+ {
+ MessageBox.Show("Объект добавлен");
+ _logger.LogInformation("Добавлен объект {@Plane}", plane);
+ pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
+ }
+ else
+ {
+ MessageBox.Show("Не удалось добавить объект");
+ _logger.LogWarning("Не удалось добавить объект");
+ }
}
- else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawningObjectPlane(plane) != -1)
+ catch (StorageOverflowException ex)
{
- MessageBox.Show("Объект добавлен");
- pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
- }
- else
- {
- MessageBox.Show("Не удалось добавить объект");
+ _logger.LogWarning("Ошибка, переполнение хранилища :{0}", ex.Message);
+ MessageBox.Show($"Ошибка хранилище переполнено: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
+
}
///
/// Удаление объекта
@@ -162,19 +176,23 @@ namespace Airbus
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null)
{
MessageBox.Show("Объект удален");
+ _logger.LogInformation("Из текущей карты удалён объект {@Plane}", _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos);
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
else
{
+ _logger.LogWarning("Не удалось удалить объект по позиции {0}. Объект равен null", pos);
MessageBox.Show("Не удалось удалить объект");
}
}
catch (PlaneNotFoundException ex)
{
+ _logger.LogWarning("Ошибка удаления: {0}", ex.Message);
MessageBox.Show($"Ошибка удаления: {ex.Message}");
}
catch (Exception ex)
{
+ _logger.LogWarning("Неизвестная ошибка удаления: {0}", ex.Message);
MessageBox.Show($"Неизвестная ошибка: {ex.Message}");
}
}
@@ -247,10 +265,12 @@ namespace Airbus
try
{
_mapsCollection.SaveData(saveFileDialog.FileName);
+ _logger.LogInformation("Сохранение прошло успешно. Расположение файла: {0}", saveFileDialog.FileName);
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
+ _logger.LogWarning("Не удалось сохранить файл '{0}'. Текст ошибки: {1}", saveFileDialog.FileName, ex.Message);
MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@@ -264,11 +284,13 @@ namespace Airbus
try
{
_mapsCollection.LoadData(openFileDialog.FileName);
+ _logger.LogInformation("Загрузка данных из файла '{0}' прошла успешно", openFileDialog.FileName);
ReloadMaps();
MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
+ _logger.LogWarning("Не удалось загрузить файл '{0}'. Текст ошибки: {1}", openFileDialog.FileName, ex.Message);
MessageBox.Show($"Не загрузилось:{ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
diff --git a/Airbus/Airbus/MapsCollection.cs b/Airbus/Airbus/MapsCollection.cs
index 4700bdb..dde5d2b 100644
--- a/Airbus/Airbus/MapsCollection.cs
+++ b/Airbus/Airbus/MapsCollection.cs
@@ -106,14 +106,14 @@ namespace Airbus
{
if (!File.Exists(filename))
{
- throw new Exception("Файл не найден");
+ throw new FileNotFoundException("Файл не найден");
}
using (StreamReader sr = new(filename))
{
string str = "";
if ((str = sr.ReadLine()) == null || !str.Contains("MapsCollection"))
{
- throw new Exception("Формат данных в файле не правильный");
+ throw new FileFormatException("Формат данных в файле не правильный");
}
_mapStorages.Clear();
while ((str = sr.ReadLine()) != null)
diff --git a/Airbus/Airbus/Program.cs b/Airbus/Airbus/Program.cs
index b0ef970..ebce7f5 100644
--- a/Airbus/Airbus/Program.cs
+++ b/Airbus/Airbus/Program.cs
@@ -1,6 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
-using NLog.Extensions.Logging;
+using Serilog;
namespace Airbus
{
@@ -24,11 +24,14 @@ namespace Airbus
}
private static void ConfigureServices(ServiceCollection services)
{
- services.AddSingleton().AddLogging(option =>
- {
- option.SetMinimumLevel(LogLevel.Information);
- option.AddNLog("nlog.config");
- });
+ var serilogLogger = new LoggerConfiguration().WriteTo.File("seriallog.txt").CreateLogger();
+
+ services.AddSingleton()
+ .AddLogging(option =>
+ {
+ option.SetMinimumLevel(LogLevel.Information);
+ option.AddSerilog(logger: serilogLogger, dispose: true);
+ });
}
}
}
\ No newline at end of file
diff --git a/Airbus/Airbus/SetPlanesGeneric.cs b/Airbus/Airbus/SetPlanesGeneric.cs
index 9403758..1137d01 100644
--- a/Airbus/Airbus/SetPlanesGeneric.cs
+++ b/Airbus/Airbus/SetPlanesGeneric.cs
@@ -34,12 +34,7 @@ namespace Airbus
///
public int Insert(T plane)
{
- // TODO вставка в начало набора
- // TODO проверка на _maxCount
- if (_places.Count + 1 >= _maxCount)
- return -1;
- _places.Insert(0, plane);
- return 0;
+ return Insert(plane, 0); ;
}
///
/// Добавление объекта в набор на конкретную позицию
diff --git a/Airbus/Airbus/nlog.config b/Airbus/Airbus/nlog.config
deleted file mode 100644
index ce63bd2..0000000
--- a/Airbus/Airbus/nlog.config
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file