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

View File

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

View File

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

View File

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

View File

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