This commit is contained in:
VictoriaPresnyakova 2022-12-04 00:11:52 +04:00
parent bc353c685f
commit e18445da4c
5 changed files with 45 additions and 16 deletions

View File

@ -105,6 +105,8 @@ namespace Catamaran
private void ListBoxMaps_SelectedIndexChanged(object sender, EventArgs e) private void ListBoxMaps_SelectedIndexChanged(object sender, EventArgs e)
{ {
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
_logger.LogInformation($"Переход на карту {listBoxMaps.SelectedItem?.ToString()}");
} }
/// <summary> /// <summary>
@ -121,6 +123,7 @@ namespace Catamaran
if (MessageBox.Show($"Удалить карту {listBoxMaps.SelectedItem}?", if (MessageBox.Show($"Удалить карту {listBoxMaps.SelectedItem}?",
"Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{ {
_logger.LogInformation($"Удалена карта {listBoxMaps.SelectedItem?.ToString()}");
_mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty); _mapsCollection.DelMap(listBoxMaps.SelectedItem?.ToString() ?? string.Empty);
ReloadMaps(); ReloadMaps();
} }
@ -153,6 +156,8 @@ namespace Catamaran
{ {
MessageBox.Show("Объект удален"); MessageBox.Show("Объект удален");
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
_logger.LogInformation($"Удален объект {pos}");
} }
else else
{ {
@ -161,10 +166,12 @@ namespace Catamaran
} }
catch (BoatNotFoundException ex) catch (BoatNotFoundException ex)
{ {
_logger.LogWarning($"Ошибка {ex.Message}");
MessageBox.Show($"Ошибка удаления: {ex.Message}"); MessageBox.Show($"Ошибка удаления: {ex.Message}");
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogWarning($"Ошибка {ex.Message}");
MessageBox.Show($"Неизвестная ошибка: {ex.Message}"); MessageBox.Show($"Неизвестная ошибка: {ex.Message}");
} }
@ -240,9 +247,12 @@ namespace Catamaran
formBoatConfig.AddEvent(new Action<DrawingBoat>(AddBoat)); formBoatConfig.AddEvent(new Action<DrawingBoat>(AddBoat));
// TODO Call method AddEvent from formBoatConfig // TODO Call method AddEvent from formBoatConfig
formBoatConfig.Show(); formBoatConfig.Show();
} }
private void AddBoat(DrawingBoat boat) private void AddBoat(DrawingBoat boat)
{
try
{ {
if (listBoxMaps.SelectedIndex == -1) if (listBoxMaps.SelectedIndex == -1)
{ {
@ -250,14 +260,27 @@ namespace Catamaran
} }
else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawingObjectBoat(boat) != -1) else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawingObjectBoat(boat) != -1)
{ {
_logger.LogInformation($"Добавлен лодку {boat}");
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
} }
else else
{ {
_logger.LogWarning("Не удалось добавить лодку");
MessageBox.Show("Не удалось добавить объект"); MessageBox.Show("Не удалось добавить объект");
} }
} }
catch (StorageOverflowException ex)
{
_logger.LogWarning($"Ошибка переполнения хранилища: {ex.Message}");
MessageBox.Show($"Ошибка переполнения хранилища: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
_logger.LogWarning($"Неизвестная ошибка: {ex.Message}");
MessageBox.Show($"Неизвестная ошибка: {ex.Message}");
}
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e) private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{ {
if (saveFileDialog.ShowDialog() == DialogResult.OK) if (saveFileDialog.ShowDialog() == DialogResult.OK)
@ -267,9 +290,12 @@ namespace Catamaran
_mapsCollection.SaveData(saveFileDialog.FileName); _mapsCollection.SaveData(saveFileDialog.FileName);
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBox.Show("Сохранение прошло успешно", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
_logger.LogInformation($"Сохранение данных");
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogWarning($"Ошибка {ex.Message}");
MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
@ -282,12 +308,16 @@ namespace Catamaran
{ {
try try
{ {
_mapsCollection.LoadData(openFileDialog.FileName);
ReloadMaps();
MessageBox.Show("Открытие прошло успешно", "Результат", MessageBox.Show("Открытие прошло успешно", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
ReloadMaps(); _logger.LogInformation($"Загрузка данных");
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogWarning($"Ошибка {ex.Message}");
MessageBox.Show($"Не удалось открыть: {ex.Message}", "Результат", MessageBox.Show($"Не удалось открыть: {ex.Message}", "Результат",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
} }

View File

@ -108,7 +108,8 @@ namespace Catamaran
{ {
if (!File.Exists(filename)) if (!File.Exists(filename))
{ {
throw new Exception("Файл не найден"); throw new FileNotFoundException(filename);
} }
using (StreamReader sr = new StreamReader(filename)) using (StreamReader sr = new StreamReader(filename))
{ {
@ -116,7 +117,7 @@ namespace Catamaran
if ((str = sr.ReadLine()) == null || !str.Contains("MapsCollection")) if ((str = sr.ReadLine()) == null || !str.Contains("MapsCollection"))
{ {
//если нет такой записи, то это не те данные //если нет такой записи, то это не те данные
throw new Exception("Формат данных в файле не правильный"); throw new FormatException(str);
} }
//очищаем записи //очищаем записи
_mapStorages.Clear(); _mapStorages.Clear();

View File

@ -17,7 +17,6 @@ namespace Catamaran
[STAThread] [STAThread]
static void Main() static void Main()
{ {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);

View File

@ -62,7 +62,7 @@ namespace Catamaran
// TODO проверка позиции // TODO проверка позиции
if (position < 0 || position >= _maxCount) if (position < 0 || position >= _maxCount)
{ {
throw new IndexOutOfRangeException(); return -1 ;
} }
// TODO проверка, что элемент массива по этой позиции пустой,если нет, то // TODO проверка, что элемент массива по этой позиции пустой,если нет, то
@ -87,7 +87,7 @@ namespace Catamaran
return position; return position;
} }
} }
throw new BoatNotFoundException(_maxCount); throw new StorageOverflowException(_maxCount);
} }
// TODO вставка по позиции // TODO вставка по позиции
} }
@ -99,7 +99,7 @@ namespace Catamaran
public T Remove(int position) public T Remove(int position)
{ {
// TODO проверка позиции // TODO проверка позиции
if (position < 0 || position >= Count) throw new IndexOutOfRangeException(); if (position < 0 || position >= Count) throw new BoatNotFoundException();
// TODO удаление объекта из массива, присовив элементу массива значение null // TODO удаление объекта из массива, присовив элементу массива значение null
var result = _places[position]; var result = _places[position];
_places.RemoveAt(position); _places.RemoveAt(position);

View File

@ -4,8 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true" internalLogLevel="Info"> autoReload="true" internalLogLevel="Info">
<targets> <targets>
<target xsi:type="File" name="tofile" fileName="carlog- <target xsi:type="File" name="tofile" fileName="boatlog-${shortdate}.log" />
${shortdate}.log" />
</targets> </targets>
<rules> <rules>
<logger name="*" minlevel="Debug" writeTo="tofile" /> <logger name="*" minlevel="Debug" writeTo="tofile" />