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) { - + } ///