Pibd-14 Aliulov_S.R. LabWork08 Simple #11

Closed
SAliulovq wants to merge 3 commits from LabWork08 into LabWork07
4 changed files with 29 additions and 15 deletions
Showing only changes of commit 27d8385bad - Show all commits

View File

@ -60,7 +60,7 @@ public abstract class AbstractCompany
/// <returns></returns>
public static int operator +(AbstractCompany company, DrawningBomber bomber)
{
return company._collection.Insert(bomber, new DrawningAirCraftEqutables());
return company._collection.Insert(bomber, new DrawningBomberEqutables());
}
/// <summary>

View File

@ -146,7 +146,8 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
}
public void CollectionSort(IComparer<T?> comparer)
{
List<T?> lst = [.. _collection];
List<T?> value = [.. _collection];
List<T?> lst = value;
lst.Sort(comparer.Compare);
for (int i = 0; i < _collection.Length; ++i)
{

View File

@ -6,7 +6,7 @@ namespace ProjectAirBomber.Drawnings;
/// <summary>
/// Реализация сравнения двух объектов класса-прорисовки
/// </summary>
public class DrawningAirCraftEqutables : IEqualityComparer<DrawningBomber?>
public class DrawningBomberEqutables : IEqualityComparer<DrawningBomber?>
{
public bool Equals(DrawningBomber? x, DrawningBomber? y)
{

View File

@ -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();
}
/// <summary>
@ -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<DrawningBomber>? 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)
{
}
/// <summary>