This commit is contained in:
Камилия Сафиулова 2023-12-20 09:17:51 +04:00
parent 9953e40a20
commit 918be42c06
2 changed files with 8 additions and 22 deletions

View File

@ -98,7 +98,7 @@ namespace Catamaran
{ {
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBoxCollection.Image = obj.ShowCatamarans(); pictureBoxCollection.Image = obj.ShowCatamarans();
_logger.LogInformation($"Объект {obj.GetType()} добавлен"); _logger.LogInformation($"Объект добавлен");
} }
} }
catch (StorageOverflowException ex) catch (StorageOverflowException ex)

View File

@ -43,36 +43,22 @@ namespace Catamaran.Generics
/// <returns></returns> /// <returns></returns>
public bool Insert(T catamaran) public bool Insert(T catamaran)
{ {
// TODO вставка в начало набора return Insert(catamaran, 0);
if (_places.Count == _maxCount)
{
return false;
}
Insert(catamaran, 0);
return true;
} }
/// <summary> /// <summary>
/// Добавление объекта в набор на конкретную позицию /// Добавление объекта в набор на конкретную позицию
/// </summary> /// </summary>
/// <param name="catamaran">Добавляемый катамаран</param> /// <param name="boat">Добавляемая лодка</param>
/// <param name="position">Позиция</param> /// <param name="position">Позиция</param>
/// <returns></returns> /// <returns></returns>
public bool Insert(T catamaran, int position) public bool Insert(T catamaran, int position)
{ {
// TODO проверка позиции
// TODO проверка, что элемент массива по этой позиции пустой,
//если нет, то проверка, что после вставляемого элемента в массиве есть пустой элемент
// сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента
// TODO вставка по позиции
if (Count >= _maxCount)
{
throw new StorageOverflowException(_maxCount);
}
if (position < 0 || position >= _maxCount) if (position < 0 || position >= _maxCount)
{ throw new CatamaranNotFoundException(position);
throw new StorageOverflowException("Impossible to insert");
} if (Count >= _maxCount)
_places.Insert(position, catamaran); throw new StorageOverflowException(_maxCount);
_places.Insert(0, catamaran);
return true; return true;
} }
/// <summary> /// <summary>