ISEbd-22 Alimova M.S. Lab Work 07 #7

Closed
malimova wants to merge 9 commits from Lab7 into Lab6
5 changed files with 25 additions and 23 deletions
Showing only changes of commit c53f18d132 - Show all commits

View File

@ -10,12 +10,13 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.7" />
<PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="8.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
</ItemGroup>
<ItemGroup>

View File

@ -14,7 +14,7 @@
],
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"Properties": {
"Application": "AirBomber"
"Application": "AirBombers"
}
}
}

View File

@ -9,10 +9,10 @@ using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.VisualBasic.Logging;
using AirBomber.Exceptions;
using Serilog;
using _logger = Serilog.Log;
//using Serilog;
using System.Xml.Linq;
using System.Linq.Expressions;
using Microsoft.Extensions.Logging;
namespace AirBomber
{
@ -22,10 +22,12 @@ namespace AirBomber
/// Набор объектов
/// </summary>
private readonly PlanesGenericStorage _storage;
public FormPlaneCollection()
private readonly ILogger _logger;
public FormPlaneCollection(ILogger<FormPlaneCollection> logger)
{
InitializeComponent();
_storage = new PlanesGenericStorage(pictureBoxCollection.Width, pictureBoxCollection.Height);
_logger = logger;
}
/// <summary>
/// Заполнение listBoxObjects
@ -85,13 +87,13 @@ namespace AirBomber
{
_ = obj + plane;
MessageBox.Show("Объект добавлен");
_logger.Information("Объект добавлен");
_logger.LogInformation("Объект добавлен");
pictureBoxCollection.Image = obj.ShowPlanes();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
_logger.Warning($"Объект не добавлен в набор {listBoxStorages.SelectedItem.ToString()}");
_logger.LogWarning($"Объект не добавлен в набор {listBoxStorages.SelectedItem.ToString()}");
}
}
/// <summary>
@ -116,18 +118,17 @@ namespace AirBomber
}
try
{
int pos = Convert.ToInt32(maskedTextBoxNumber.Text);
if (obj - pos != null)
{
MessageBox.Show("Объект удален");
_logger.Information("Объект удален");
_logger.LogInformation("Объект удален");
pictureBoxCollection.Image = obj.ShowPlanes();
}
else
{
MessageBox.Show("Не удалось удалить объект");
_logger.Warning("Не удалось удалить объект");
_logger.LogWarning("Не удалось удалить объект");
}
}
catch (PlaneNotFoundException ex)
@ -137,7 +138,7 @@ namespace AirBomber
catch(Exception ex)
{
MessageBox.Show("Неверный ввод");
_logger.Warning("Неверный ввод");
_logger.LogWarning("Неверный ввод");
}
}
/// <summary>
@ -168,12 +169,12 @@ namespace AirBomber
if (string.IsNullOrEmpty(textBoxStorageName.Text))
{
MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
_logger.Warning("Не все данные заполнены");
_logger.LogWarning("Не все данные заполнены");
return;
}
_storage.AddSet(textBoxStorageName.Text);
ReloadObjects();
_logger.Information($"Добавлен набор: {textBoxStorageName.Text}");
_logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}");
}
private void buttonDelObject_Click(object sender, EventArgs e)
{
@ -186,7 +187,7 @@ namespace AirBomber
{
_storage.DelSet(Name);
ReloadObjects();
_logger.Information($"Удален набор: {Name}");
_logger.LogInformation($"Удален набор: {Name}");
}
}
/// <summary>
@ -202,12 +203,12 @@ namespace AirBomber
{
_storage.SaveData(saveFileDialog.FileName);
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
_logger.Information("Сохранение прошло успешно");
_logger.LogInformation("Сохранение прошло успешно");
}
catch (Exception ex)
{
MessageBox.Show("Не сохранилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
_logger.Warning($"Не сохранилось: {ex.Message}");
_logger.LogWarning($"Не сохранилось: {ex.Message}");
}
}
}
@ -225,13 +226,13 @@ namespace AirBomber
{
_storage.LoadData(openFileDialog.FileName);
MessageBox.Show("Загрузка прошла успешно!", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
_logger.Information("Загрузка прошла успешно");
_logger.LogInformation("Загрузка прошла успешно");
ReloadObjects();
}
catch(Exception ex)
{
MessageBox.Show("Не загрузилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
_logger.Warning($"Не загрузилось: {ex.Message}");
_logger.LogWarning($"Не загрузилось: {ex.Message}");
}
}
}

View File

@ -2,6 +2,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Serilog;
using AirBomber;
namespace AirBomber
{
@ -22,7 +23,6 @@ namespace AirBomber
{
Application.Run(serviceProvider.GetRequiredService<FormPlaneCollection>());
}
//Application.Run(new FormPlaneCollection());
}
private static void ConfigureServices(ServiceCollection services)
{
@ -34,7 +34,7 @@ namespace AirBomber
{
pathNeed += path[i] + "\\";
}
var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(path: $"{pathNeed}AppSettings.json", optional: false, reloadOnChange: true).Build();
var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(path: $"{pathNeed}appSettings.json", optional: false, reloadOnChange: true).Build();
var logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger();
option.SetMinimumLevel(LogLevel.Information);

View File

@ -49,7 +49,7 @@ namespace AirBomber
public bool Insert(T plane, int position)
{
if (position < 0 || position >= _maxCount)
throw new StorageOverflowException("Impossible to insert");
throw new StorageOverflowException("Невозможно добавить");
if (Count >= _maxCount)
throw new StorageOverflowException(_maxCount);
@ -64,7 +64,7 @@ namespace AirBomber
public bool Remove(int position)
{
if (position >= Count || position < 0)
throw new PlaneNotFoundException("Invalid operation");
throw new PlaneNotFoundException("Невалидная операция");
if (_places[position] == null)
throw new PlaneNotFoundException(position);
_places.RemoveAt(position);