diff --git a/AirBomber/AirBomber/AirBomber.csproj b/AirBomber/AirBomber/AirBomber.csproj
index 13ee123..e65c673 100644
--- a/AirBomber/AirBomber/AirBomber.csproj
+++ b/AirBomber/AirBomber/AirBomber.csproj
@@ -8,6 +8,12 @@
enable
+
+
+
+
+
+
True
diff --git a/AirBomber/AirBomber/FormPlaneCollection.cs b/AirBomber/AirBomber/FormPlaneCollection.cs
index 947e102..fdbe73a 100644
--- a/AirBomber/AirBomber/FormPlaneCollection.cs
+++ b/AirBomber/AirBomber/FormPlaneCollection.cs
@@ -10,7 +10,9 @@ using System.Windows.Forms;
using Microsoft.VisualBasic.Logging;
using AirBomber.Exceptions;
using Serilog;
-using Log = Serilog.Log;
+using _logger = Serilog.Log;
+using System.Xml.Linq;
+using System.Linq.Expressions;
namespace AirBomber
{
@@ -82,11 +84,13 @@ namespace AirBomber
if (obj + plane > -1)
{
MessageBox.Show("Объект добавлен");
+ _logger.Information("Объект добавлен");
pictureBoxCollection.Image = obj.ShowPlanes();
}
else
{
MessageBox.Show("Не удалось добавить объект");
+ _logger.Warning("Не удалось добавить объект");
}
}
///
@@ -110,14 +114,23 @@ namespace AirBomber
return;
}
int pos = Convert.ToInt32(maskedTextBoxNumber.Text);
- if (obj - pos != null)
+ try
{
- MessageBox.Show("Объект удален");
- pictureBoxCollection.Image = obj.ShowPlanes();
+ if (obj - pos != null)
+ {
+ MessageBox.Show("Объект удален");
+ _logger.Information("Объект удален");
+ pictureBoxCollection.Image = obj.ShowPlanes();
+ }
+ else
+ {
+ MessageBox.Show("Не удалось удалить объект");
+ _logger.Warning("Не удалось удалить объект");
+ }
}
- else
+ catch (PlaneNotFoundException ex)
{
- MessageBox.Show("Не удалось удалить объект");
+ MessageBox.Show(ex.Message);
}
}
///
@@ -147,23 +160,26 @@ namespace AirBomber
{
if (string.IsNullOrEmpty(textBoxStorageName.Text))
{
- MessageBox.Show("Не все данные заполнены", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ _logger.Warning("Не все данные заполнены");
return;
}
_storage.AddSet(textBoxStorageName.Text);
ReloadObjects();
+ _logger.Information($"Добавлен набор: {textBoxStorageName.Text}");
}
private void buttonDelObject_Click(object sender, EventArgs e)
{
+ string Name = listBoxStorages.SelectedItem.ToString() ?? string.Empty;
if (listBoxStorages.SelectedIndex == -1)
{
return;
}
- if (MessageBox.Show($"Удалить объект{listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+ if (MessageBox.Show($"Удалить набор {Name}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
- _storage.DelSet(listBoxStorages.SelectedItem.ToString() ?? string.Empty);
+ _storage.DelSet(Name);
ReloadObjects();
+ _logger.Information($"Удален набор: {Name}");
}
}
///
@@ -175,13 +191,15 @@ namespace AirBomber
{
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
- if (_storage.SaveData(saveFileDialog.FileName))
+ try
{
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ _logger.Information("Сохранение прошло успешно");
}
- else
+ catch (Exception ex)
{
MessageBox.Show("Не сохранилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ _logger.Warning($"Не сохранилось: {ex.Message}");
}
}
}
@@ -195,15 +213,17 @@ namespace AirBomber
// TODO продумать логику DONE
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
- if (_storage.LoadData(openFileDialog.FileName))
+ try
{
+ _storage.LoadData(openFileDialog.FileName);
MessageBox.Show("Загрузка прошла успешно!", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ _logger.Information("Загрузка прошла успешно");
ReloadObjects();
}
- else
+ catch(Exception ex)
{
- MessageBox.Show("Не загрузилось!", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
-
+ MessageBox.Show("Не загрузилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ _logger.Warning($"Не загрузилось: {ex.Message}");
}
}
}
diff --git a/AirBomber/AirBomber/Program.cs b/AirBomber/AirBomber/Program.cs
index e7cb4a7..d3007a7 100644
--- a/AirBomber/AirBomber/Program.cs
+++ b/AirBomber/AirBomber/Program.cs
@@ -1,3 +1,9 @@
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using NLog.Extensions.Logging;
+using Serilog;
+
namespace AirBomber
{
internal static class Program
@@ -11,7 +17,13 @@ namespace AirBomber
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
- Application.Run(new FormPlaneCollection());
+ var services = new ServiceCollection();
+ ConfigureServices(services);
+ using (ServiceProvider serviceProvider = services.BuildServiceProvider())
+ {
+ Application.Run(serviceProvider.GetRequiredService());
+ }
+ //Application.Run(new FormPlaneCollection());
}
}
}
\ No newline at end of file
diff --git a/AirBomber/AirBomber/SetGeneric.cs b/AirBomber/AirBomber/SetGeneric.cs
index 731639c..636bc27 100644
--- a/AirBomber/AirBomber/SetGeneric.cs
+++ b/AirBomber/AirBomber/SetGeneric.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using AirBomber.Exceptions;
namespace AirBomber
{