Лабораторная работа №7 (не думаю, что работает)

This commit is contained in:
DjonniStorm 2024-04-20 01:23:03 +04:00
parent 29317b7247
commit 018e2c48ec
5 changed files with 49 additions and 24 deletions

View File

@ -1,4 +1,5 @@
using ProjectCleaningCar.Drawning;
using ProjectCleaningCar.Exceptions;
namespace ProjectCleaningCar.CollectionGenericObjects;
/// <summary>

View File

@ -42,7 +42,6 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
public T Get(int position)
{
if (position >= Count || position < 0) throw new PositionOutOfCollectionException();
if (_collection[position] == null) throw new ObjectNotFoundException();
return _collection[position];
}

View File

@ -45,6 +45,7 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
public T? Get(int position)
{
if (position < 0 || position >= Count) throw new PositionOutOfCollectionException();
if (_collection[position] == null) throw new ObjectNotFoundException();
return _collection[position];
}
public int Insert(T obj)

View File

@ -157,12 +157,12 @@ public class StorageCollection<T>
string line = reader.ReadLine();
if (line == null || line.Length == 0)
{
throw new Exception("Файл не подходит");
throw new IOException("Файл не подходит");
}
if (!line.Equals(_collectionKey))
{
throw new Exception("В файле неверные данные");
throw new IOException("В файле неверные данные");
}
_storages.Clear();
while ((line = reader.ReadLine()) != null)
@ -190,7 +190,7 @@ public class StorageCollection<T>
{
if (collection.Insert(truck) == -1)
{
throw new Exception("Объект не удалось добавить в коллекцию: ");
throw new Exception("Объект не удалось добавить в коллекцию: " + record[3]);
}
}
catch (CollectionOverflowException ex)

View File

@ -1,6 +1,7 @@
using Microsoft.Extensions.Logging;
using ProjectCleaningCar.CollectionGenericObjects;
using ProjectCleaningCar.Drawning;
using ProjectCleaningCar.Exceptions;
namespace ProjectCleaningCar;
/// <summary>
@ -60,16 +61,19 @@ public partial class FormCleaningCarCollection : Form
/// <param name="truck"></param>
private void SetTruck(DrawningTruck truck)
{
if (_company == null || truck == null)
try
{
return;
}
if (_company + truck != -1)
{
MessageBox.Show("Объект добавлен");
pictureBox.Image = _company.Show();
}
else
if (_company == null || truck == null)
{
return;
}
if (_company + truck != -1)
{
MessageBox.Show("Объект добавлен");
pictureBox.Image = _company.Show();
}
} catch (CollectionOverflowException)
{
MessageBox.Show("Не удалось добавить объект");
}
@ -91,14 +95,24 @@ public partial class FormCleaningCarCollection : Form
return;
}
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
if (_company - pos != null)
try
{
MessageBox.Show("Объект удален");
pictureBox.Image = _company.Show();
if (_company - pos != null)
{
MessageBox.Show("Объект удален");
pictureBox.Image = _company.Show();
} else
{
MessageBox.Show("Не удалось удалить объект");
}
}
else
catch (PositionOutOfCollectionException)
{
MessageBox.Show("Не удалось удалить объект");
MessageBox.Show("Ошибка при удалении объекта");
}
catch (Exception)
{
MessageBox.Show("Неизвестная ошибка при удалении объекта");
}
}
@ -140,8 +154,12 @@ public partial class FormCleaningCarCollection : Form
{
return;
}
try
{
pictureBox.Image = _company.Show();
pictureBox.Image = _company.Show();
} catch (PositionOutOfCollectionException) { }
catch (Exception) { }
}
/// <summary>
@ -227,12 +245,18 @@ public partial class FormCleaningCarCollection : Form
MessageBox.Show("Коллекция не проинициализирована");
return;
}
switch (comboBoxSelectorCompany.Text)
try
{
case "Автопарк":
_company = new AutoParkService(pictureBox.Width, pictureBox.Height, collection);
break;
switch (comboBoxSelectorCompany.Text)
{
case "Автопарк":
_company = new AutoParkService(pictureBox.Width, pictureBox.Height, collection);
break;
}
} catch (ObjectNotFoundException)
{
}
panelCompanyTools.Enabled = true;