From d5474b135748756eb36b58d23fac9e4e081b25fc Mon Sep 17 00:00:00 2001 From: DyCTaTOR <125912249+DyCTaTOR@users.noreply.github.com> Date: Tue, 5 Dec 2023 17:09:00 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=20=D1=81=D0=B4=D0=B0=D1=87=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Monorail/Monorail/FormMonorailCollection.cs | 39 +++++++++++-------- .../Generics/MonorailsGenericCollection.cs | 5 +-- .../Generics/MonorailsGenericStorage.cs | 2 +- Monorail/Monorail/Generics/SetGeneric.cs | 18 ++++----- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/Monorail/Monorail/FormMonorailCollection.cs b/Monorail/Monorail/FormMonorailCollection.cs index 1861389..f2bd6ba 100644 --- a/Monorail/Monorail/FormMonorailCollection.cs +++ b/Monorail/Monorail/FormMonorailCollection.cs @@ -24,7 +24,7 @@ namespace Monorail private readonly ILogger _logger; - readonly int countPlace = 35; + readonly int countPlace = 22; public FormMonorailCollection(ILogger logger) { InitializeComponent(); @@ -62,7 +62,7 @@ namespace Monorail } _storage.AddSet(textBoxStorageName.Text); ReloadObjects(); - _logger.LogInformation($"Добавлен набор:{ textBoxStorageName.Text}"); + _logger.LogInformation($"Добавлен набор:{textBoxStorageName.Text}"); } private void ListBoxObjects_SelectedIndexChanged(object sender, @@ -127,12 +127,13 @@ EventArgs e) _logger.LogInformation($"Добавлен монорельс"); } } - catch(StorageOverflowException ex) + catch (StorageOverflowException ex) { - MessageBox.Show(ex.Message); - _logger.LogWarning("Не удалось добавить объект"); + MessageBox.Show(ex.Message, "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning(ex.Message); } - + } private void ButtonRemoveMonorail_Click(object sender, EventArgs e) { @@ -158,21 +159,22 @@ EventArgs e) { pos = Convert.ToInt32(maskedTextBoxNumber.Text); } - catch (Exception) { - MessageBox.Show("Введите позицию монорельса", "Ошибка", + catch (Exception) + { + MessageBox.Show("Введите позицию монорельса", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - if (obj - pos != null) - { + try { + var curObj = obj - pos; MessageBox.Show("Объект удален"); pictureBoxCollection.Image = obj.ShowMonorails(); - _logger.LogInformation("Объект удален"); - } - else + _logger.LogInformation($"Объект удален по позиции: {pos}"); + }catch(MonorailNotFoundException ex) { + MessageBox.Show(ex.Message, "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); _logger.LogWarning($"Не удалось удалить объект по позиции {pos}"); - throw new MonorailNotFoundException(pos); } } private void ButtonRefreshCollection_Click(object sender, EventArgs e) @@ -197,11 +199,13 @@ EventArgs e) _storage.SaveData(saveFileDialog.FileName); MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + _logger.LogInformation("Сохранение файла"); } catch (Exception ex) { MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning($"Не сохранилось: {ex.Message}"); } } } @@ -215,10 +219,13 @@ EventArgs e) MessageBox.Show("Загрузка прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); ReloadObjects(); - } catch(MonorailNotFoundException ex) + _logger.LogInformation("Загрузка файла"); + } + catch (Exception ex) { - MessageBox.Show($"Не загрузилось {ex.Message}", + MessageBox.Show($"Не загрузилось. {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning($"Не загрузилось: {ex.Message}"); } } } diff --git a/Monorail/Monorail/Generics/MonorailsGenericCollection.cs b/Monorail/Monorail/Generics/MonorailsGenericCollection.cs index 43b29fe..0a05c67 100644 --- a/Monorail/Monorail/Generics/MonorailsGenericCollection.cs +++ b/Monorail/Monorail/Generics/MonorailsGenericCollection.cs @@ -37,10 +37,7 @@ namespace Monorail.Generics public static T? operator -(MonorailsGenericCollection collect, int pos) { T? obj = collect._collection[pos]; - if (obj != null) - { - collect._collection.Remove(pos); - } + collect._collection.Remove(pos); return obj; } public U? GetU(int pos) diff --git a/Monorail/Monorail/Generics/MonorailsGenericStorage.cs b/Monorail/Monorail/Generics/MonorailsGenericStorage.cs index b97db18..64dc5f7 100644 --- a/Monorail/Monorail/Generics/MonorailsGenericStorage.cs +++ b/Monorail/Monorail/Generics/MonorailsGenericStorage.cs @@ -72,7 +72,7 @@ namespace Monorail.Generics } if (data.Length == 0) { - throw new Exception("Невалиданя операция, нет данных для сохранения"); + throw new Exception("Невалидная операция, нет данных для сохранения"); } using StreamWriter sw = new(filename); sw.Write($"MonorailStorage{Environment.NewLine}{data}"); diff --git a/Monorail/Monorail/Generics/SetGeneric.cs b/Monorail/Monorail/Generics/SetGeneric.cs index 755b4fb..b211434 100644 --- a/Monorail/Monorail/Generics/SetGeneric.cs +++ b/Monorail/Monorail/Generics/SetGeneric.cs @@ -1,4 +1,5 @@ -using System; +using Monorail.Exceptions; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -23,15 +24,12 @@ namespace Monorail.Generics } public int Insert(T monorail, int position) { - if (Count == _maxCount) - return -1; + if (Count == _maxCount || position >= _maxCount) + throw new StorageOverflowException(Count); if (position < 0 || monorail == null) - return -1; - - if (position >= _maxCount) - return -1; - + throw new StorageOverflowException("Ошибка. Объект не найден или введённый " + + "номер позиции = отрицательное число"); if (Count == 0) { @@ -48,7 +46,7 @@ namespace Monorail.Generics // TODO проверка позиции if (position >= Count) { - return false; + throw new MonorailNotFoundException(position); } // TODO удаление объекта из массива, присвоив элементу массива значение null if (_places[position] != null) @@ -58,7 +56,7 @@ namespace Monorail.Generics } else { - return false; + throw new MonorailNotFoundException(position); } } public T? this[int position]