From 27d8385bad0ef2e4add2ececa16cda3b7f1531d9 Mon Sep 17 00:00:00 2001 From: SAliulov <146759803+SAliulov@users.noreply.github.com> Date: Mon, 17 Jun 2024 11:42:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractCompany.cs | 2 +- .../MassiveGenericObjects.cs | 3 +- .../Drawnings/DrawningBomberEqutables.cs | 2 +- .../ProjectAirBomber/FormBomberCollection.cs | 37 +++++++++++++------ 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/AbstractCompany.cs b/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/AbstractCompany.cs index a9aa58d..9f19b6b 100644 --- a/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/AbstractCompany.cs +++ b/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/AbstractCompany.cs @@ -60,7 +60,7 @@ public abstract class AbstractCompany /// public static int operator +(AbstractCompany company, DrawningBomber bomber) { - return company._collection.Insert(bomber, new DrawningAirCraftEqutables()); + return company._collection.Insert(bomber, new DrawningBomberEqutables()); } /// diff --git a/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/MassiveGenericObjects.cs index e8ef852..c7f49a9 100644 --- a/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectAirBomber/ProjectAirBomber/CollectionGenericObjects/MassiveGenericObjects.cs @@ -146,7 +146,8 @@ public class MassiveGenericObjects : ICollectionGenericObjects } public void CollectionSort(IComparer comparer) { - List lst = [.. _collection]; + List value = [.. _collection]; + List lst = value; lst.Sort(comparer.Compare); for (int i = 0; i < _collection.Length; ++i) { diff --git a/ProjectAirBomber/ProjectAirBomber/Drawnings/DrawningBomberEqutables.cs b/ProjectAirBomber/ProjectAirBomber/Drawnings/DrawningBomberEqutables.cs index 3dd981c..76d41d9 100644 --- a/ProjectAirBomber/ProjectAirBomber/Drawnings/DrawningBomberEqutables.cs +++ b/ProjectAirBomber/ProjectAirBomber/Drawnings/DrawningBomberEqutables.cs @@ -6,7 +6,7 @@ namespace ProjectAirBomber.Drawnings; /// /// Реализация сравнения двух объектов класса-прорисовки /// -public class DrawningAirCraftEqutables : IEqualityComparer +public class DrawningBomberEqutables : IEqualityComparer { public bool Equals(DrawningBomber? x, DrawningBomber? y) { diff --git a/ProjectAirBomber/ProjectAirBomber/FormBomberCollection.cs b/ProjectAirBomber/ProjectAirBomber/FormBomberCollection.cs index cc1256c..32855ce 100644 --- a/ProjectAirBomber/ProjectAirBomber/FormBomberCollection.cs +++ b/ProjectAirBomber/ProjectAirBomber/FormBomberCollection.cs @@ -2,6 +2,7 @@ using ProjectAirBomber.CollectionGenericObjects; using ProjectAirBomber.Drawnings; using ProjectAirBomber.Exceptions; +using System.Xml.Linq; namespace ProjectAirBomber; @@ -81,7 +82,12 @@ public partial class FormBomberCollection : Form catch (CollectionOverflowException ex) { MessageBox.Show("Не удалось добавить объект"); - _logger.LogError($"Не удалось добавить объект: {ex.Message}"); + _logger.LogWarning($"Не удалось добавить объект: {ex.Message}"); + } + catch (ObjectAlreadyExistsException) + { + MessageBox.Show("Такой объект уже существует"); + _logger.LogError("Ошибка: такой объект уже существует {0}", bomber); } } @@ -109,18 +115,18 @@ public partial class FormBomberCollection : Form { object decrementObject = _company - pos; MessageBox.Show("Объект удален"); - _logger.LogInformation($"Удален объект по позиции {pos}"); + _logger.LogInformation($"Удален по позиции {pos}"); pictureBox.Image = _company.Show(); } - catch (ObjectNotFoundException) + catch (ObjectNotFoundException ex) { MessageBox.Show("Объект не найден"); - _logger.LogError($"Удаление не найденного объекта в позиции {pos} "); + _logger.LogWarning($"Удаление не найденного объекта в позиции {pos} "); } catch (PositionOutOfCollectionException) { MessageBox.Show("Удаление вне рамках коллекции"); - _logger.LogError($"Удаление объекта за пределами коллекции {pos} "); + _logger.LogWarning($"Удаление объекта за пределами коллекции {pos} "); } } @@ -135,7 +141,6 @@ public partial class FormBomberCollection : Form { return; } - try { DrawningBomber? bomber = null; @@ -190,8 +195,8 @@ public partial class FormBomberCollection : Form if (string.IsNullOrEmpty(textBoxCollectionName.Text) || (!radioButtonList.Checked && !radioButtonMassive.Checked)) { - MessageBox.Show("Не все данные заполнены", "Ошибка", - MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogError("Не заполненная коллекция"); return; } CollectionType collectionType = CollectionType.None; @@ -203,8 +208,8 @@ public partial class FormBomberCollection : Form { collectionType = CollectionType.List; } - _storageCollection.AddCollection(textBoxCollectionName.Text, - collectionType); + _storageCollection.AddCollection(textBoxCollectionName.Text, collectionType); + _logger.LogInformation($"Добавлена коллекция: {textBoxCollectionName.Text}"); RerfreshListBoxItems(); } /// @@ -217,14 +222,17 @@ public partial class FormBomberCollection : Form if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null) { MessageBox.Show("Коллекция не выбрана"); + _logger.LogError("Удаление невыбранной коллекции"); return; } + string name = listBoxCollection.SelectedItem.ToString() ?? string.Empty; if (MessageBox.Show("Удалить коллекцию?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } _storageCollection.DelCollection(listBoxCollection.SelectedItem.ToString()); + _logger.LogInformation($"Удалена коллекция: {name}"); RerfreshListBoxItems(); } @@ -254,20 +262,25 @@ public partial class FormBomberCollection : Form if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null) { MessageBox.Show("Коллекция не выбрана"); + _logger.LogError("Создание компании невыбранной коллекции"); return; } + ICollectionGenericObjects? collection = _storageCollection[listBoxCollection.SelectedItem.ToString() ?? string.Empty]; if (collection == null) { MessageBox.Show("Коллекция не проинициализирована"); + _logger.LogError("Не удалось инициализировать коллекцию"); return; } + switch (comboBoxSelectorCompany.Text) { - case "Хранилище": + case "Ангар": _company = new BomberHungarService(pictureBox.Width, pictureBox.Height, collection); break; } + panelCompanyTools.Enabled = true; RerfreshListBoxItems(); } @@ -323,7 +336,7 @@ public partial class FormBomberCollection : Form private void FormBomberCollection_Load(object sender, EventArgs e) { - + } ///