diff --git a/Sailboat/Sailboat/FormBoatCollection.cs b/Sailboat/Sailboat/FormBoatCollection.cs index 76c12fe..a24afc8 100644 --- a/Sailboat/Sailboat/FormBoatCollection.cs +++ b/Sailboat/Sailboat/FormBoatCollection.cs @@ -77,32 +77,20 @@ namespace Sailboat _logger.LogWarning("Добавление пустого объекта"); return; } - if (obj + drawingBoat) + try { - MessageBox.Show("Объект добавлен"); - pictureBoxCollection.Image = obj.ShowBoats(); - _logger.LogInformation($"Объект {obj.GetType()} добавлен"); + if (obj + drawingBoat) + { + MessageBox.Show("Объект добавлен"); + pictureBoxCollection.Image = obj.ShowBoats(); + _logger.LogInformation($"Объект {obj.GetType()} добавлен"); + } } - else + catch (StorageOverflowException ex) { - MessageBox.Show("Не удалось добавить объект"); - _logger.LogInformation($"Не удалось добавить объект"); + MessageBox.Show(ex.Message); + _logger.LogWarning($"{ex.Message} в наборе {listBoxStorages.SelectedItem.ToString()}"); } - //try - //{ - // if (obj + drawingBoat) - // { - // MessageBox.Show("Объект добавлен"); - // pictureBoxCollection.Image = obj.ShowBoats(); - // _logger.LogInformation($"Объект {obj.GetType()} добавлен"); - // } - //} - //catch (StorageOverflowException ex) - //{ - // MessageBox.Show(ex.Message); - // MessageBox.Show("Не удалось добавить объект"); - // _logger.LogWarning($"{ex.Message} в наборе {listBoxStorages.SelectedItem.ToString()}"); - //} } private void buttonRemoveBoat_Click(object sender, EventArgs e) diff --git a/Sailboat/Sailboat/SetGeneric.cs b/Sailboat/Sailboat/SetGeneric.cs index 05134f9..b49c7e8 100644 --- a/Sailboat/Sailboat/SetGeneric.cs +++ b/Sailboat/Sailboat/SetGeneric.cs @@ -38,12 +38,7 @@ namespace Sailboat.Generics /// public bool Insert(T boat) { - if (_places.Count == _maxCount) - { - return false; - } - Insert(boat, 0); - return true; + return Insert(boat, 0); } /// /// Добавление объекта в набор на конкретную позицию @@ -53,10 +48,15 @@ namespace Sailboat.Generics /// public bool Insert(T boat, int position) { + if (boat == null) + { + throw new ArgumentNullException(nameof(boat)); + } + if (position < 0 || position >= _maxCount) throw new BoatNotFoundException(position); - if (_places.Count >= _maxCount) + if (Count >= _maxCount) throw new StorageOverflowException(_maxCount); _places.Insert(0, boat); return true;