Доделал все исключения
This commit is contained in:
parent
b15b824e76
commit
6747efcf15
@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace ProjectTractor.Exceptions
|
||||
{
|
||||
[Serializable]
|
||||
internal class CollectionCreationErrorException : ApplicationException
|
||||
{
|
||||
public CollectionCreationErrorException(string name) : base($"Коллекция с именем {name} уже существует") { }
|
||||
public CollectionCreationErrorException() : base() { }
|
||||
public CollectionCreationErrorException(string message, Exception exception) :
|
||||
base(message, exception)
|
||||
{ }
|
||||
protected CollectionCreationErrorException(SerializationInfo info,
|
||||
StreamingContext contex) : base(info, contex) { }
|
||||
}
|
||||
|
||||
}
|
@ -72,9 +72,17 @@ namespace ProjectTractor
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
_storage.AddSet(textBoxStorageName.Text);
|
||||
ReloadObjects();
|
||||
Log.Information($"Добавлен набор: {textBoxStorageName.Text}");
|
||||
try
|
||||
{
|
||||
_storage.AddSet(textBoxStorageName.Text);
|
||||
ReloadObjects();
|
||||
Log.Information($"Добавлен набор: {textBoxStorageName.Text}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
Log.Information($"Не удалось добавить коллекцию: Коллекция с именем {listBoxStorages.SelectedItem.ToString() ?? string.Empty} уже существует");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Выбор набора
|
||||
@ -139,9 +147,9 @@ namespace ProjectTractor
|
||||
pictureBoxCollection.Image = obj.ShowTractors();
|
||||
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Не удалось добавить объект");
|
||||
MessageBox.Show(ex.Message);
|
||||
Log.Information($"Не удалось добавить объект в коллекцию {listBoxStorages.SelectedItem.ToString() ?? string.Empty}");
|
||||
}
|
||||
});
|
||||
@ -155,7 +163,9 @@ namespace ProjectTractor
|
||||
/// <param name="e"></param>
|
||||
private void ButtonRemoveTractor_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (listBoxStorages.SelectedIndex == -1)
|
||||
try
|
||||
{
|
||||
if (listBoxStorages.SelectedIndex == -1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -171,16 +181,23 @@ namespace ProjectTractor
|
||||
return;
|
||||
}
|
||||
int pos = Convert.ToInt32(maskedTextBoxNumber.Text);
|
||||
try
|
||||
{
|
||||
bool m = obj - pos;
|
||||
MessageBox.Show("Объект удален");
|
||||
pictureBoxCollection.Image = obj.ShowTractors();
|
||||
|
||||
if (obj - pos)
|
||||
{
|
||||
MessageBox.Show("Объект удален");
|
||||
pictureBoxCollection.Image = obj.ShowTractors();
|
||||
Log.Information($"Обьект удален из набора {listBoxStorages.SelectedItem.ToString()}");
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Не удалось удалить объект");
|
||||
Log.Warning($"Обьект не удален из набора {listBoxStorages.SelectedItem.ToString()}");
|
||||
}
|
||||
}
|
||||
catch (TractorNotFoundException ex)
|
||||
{
|
||||
Log.Warning($"Не удалось удалить объкт");
|
||||
MessageBox.Show(ex.Message);
|
||||
Log.Warning($"Обьект не найден: {ex.Message} в наборе {listBoxStorages.SelectedItem.ToString()}");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -67,7 +67,14 @@ namespace ProjectTractor.Generics
|
||||
{
|
||||
if (!(position >= 0 && position < Count))
|
||||
throw new TractorNotFoundException(position);
|
||||
_places.RemoveAt(position);
|
||||
try
|
||||
{
|
||||
_places.RemoveAt(position);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new TractorNotFoundException(position);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Получение объекта из набора по позиции
|
||||
@ -81,15 +88,15 @@ namespace ProjectTractor.Generics
|
||||
try
|
||||
{
|
||||
if (!(position >= 0 && position <= Count))
|
||||
return null;
|
||||
throw new TractorNotFoundException(position);
|
||||
|
||||
return _places[position];
|
||||
}
|
||||
catch (TractorNotFoundException ex)
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
Log.Warning($"Не удалось удалить объкт");
|
||||
MessageBox.Show(ex.Message);
|
||||
throw new TractorNotFoundException(position);
|
||||
}
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
|
@ -80,21 +80,12 @@ namespace ProjectTractor.Generics
|
||||
public static bool operator -(TractorsGenericCollection<T, U> collect, int
|
||||
pos)
|
||||
{
|
||||
try
|
||||
{
|
||||
T? obj = collect._collection[pos];
|
||||
if (obj != null)
|
||||
{
|
||||
collect._collection.Remove(pos);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (TractorNotFoundException ex)
|
||||
{
|
||||
return false;
|
||||
Log.Warning($"Не удалось удалить объкт");
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Получение объектов коллекции
|
||||
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
||||
using ProjectTractor.DrawningObjects;
|
||||
using ProjectTractor.MovementStrategy;
|
||||
using ProjectTractor.Generics;
|
||||
using ProjectTractor.Exceptions;
|
||||
|
||||
namespace ProjectTractor
|
||||
{
|
||||
@ -60,9 +61,19 @@ namespace ProjectTractor
|
||||
/// <param name="name">Название набора</param>
|
||||
public void AddSet(string name)
|
||||
{
|
||||
_tractorStorages.Add(name,
|
||||
try
|
||||
{
|
||||
if (_tractorStorages.ContainsKey(name))
|
||||
throw new CollectionCreationErrorException(name);
|
||||
|
||||
_tractorStorages.Add(name,
|
||||
new TractorsGenericCollection<DrawningTractor,
|
||||
DrawningObjectTractor>(_pictureWidth, _pictureHeight));
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new CollectionCreationErrorException(name);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Удаление набора
|
||||
|
Loading…
Reference in New Issue
Block a user