From a17a5202678a15c6d77b2f615780160ea165af29 Mon Sep 17 00:00:00 2001 From: Kristina Date: Sat, 2 Dec 2023 19:40:05 +0400 Subject: [PATCH 01/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exceptions/BoatNotFoundException.cs | 33 +++++++ .../Exceptions/StorageOverflowException.cs | 33 +++++++ .../ProjectBoat_bae/FormBoatCollection.cs | 90 ++++++++++++++++--- .../Generics/BoatsGenericStorage.cs | 22 ++--- ProjectBoat_base/ProjectBoat_bae/Program.cs | 21 ++++- .../ProjectBoat_bae/ProjectBoat_bae.csproj | 11 +++ .../ProjectBoat_bae/nlog.config.xml | 14 +++ 7 files changed, 199 insertions(+), 25 deletions(-) create mode 100644 ProjectBoat_base/ProjectBoat_bae/Exceptions/BoatNotFoundException.cs create mode 100644 ProjectBoat_base/ProjectBoat_bae/Exceptions/StorageOverflowException.cs create mode 100644 ProjectBoat_base/ProjectBoat_bae/nlog.config.xml diff --git a/ProjectBoat_base/ProjectBoat_bae/Exceptions/BoatNotFoundException.cs b/ProjectBoat_base/ProjectBoat_bae/Exceptions/BoatNotFoundException.cs new file mode 100644 index 0000000..1630bd0 --- /dev/null +++ b/ProjectBoat_base/ProjectBoat_bae/Exceptions/BoatNotFoundException.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectBoat_bae.Exceptions +{ + [Serializable] + internal class BoatNotFoundException : ApplicationException + { + public BoatNotFoundException(int i) + : base($"Не найден объект по позиции {i}") + { } + + public BoatNotFoundException() + : base() + { } + + public BoatNotFoundException(string Message) + : base(Message) + { } + + public BoatNotFoundException(string Message, Exception Exception) + : base(Message, Exception) + { } + + public BoatNotFoundException(SerializationInfo Info, StreamingContext Context) + : base(Info, Context) + { } + } +} diff --git a/ProjectBoat_base/ProjectBoat_bae/Exceptions/StorageOverflowException.cs b/ProjectBoat_base/ProjectBoat_bae/Exceptions/StorageOverflowException.cs new file mode 100644 index 0000000..771eaa6 --- /dev/null +++ b/ProjectBoat_base/ProjectBoat_bae/Exceptions/StorageOverflowException.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectBoat_bae.Exceptions +{ + [Serializable] + internal class StorageOverflowException : ApplicationException + { + public StorageOverflowException(int Count) + : base($"В наборе превышено допустимое количество {Count}") + { } + + public StorageOverflowException() + : base() + { } + + public StorageOverflowException(string Message) + : base(Message) + { } + + public StorageOverflowException(string Message, Exception Exception) + : base(Message, Exception) + { } + + public StorageOverflowException(SerializationInfo Info, StreamingContext Context) + : base(Info, Context) + { } + } +} diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index 4849495..e9a41c4 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -7,10 +7,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using Microsoft.Extensions.Logging; using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.Generics; -using ProjectBoat_bae.MovementStrategy; +using ProjectBoat_bae.Exceptions; + namespace ProjectBoat_bae { @@ -19,10 +21,14 @@ namespace ProjectBoat_bae // Набор объектов private readonly BoatsGenericStorage _storage; + // Логер + private readonly ILogger _logger; + public FormBoatCollection() { InitializeComponent(); _storage = new BoatsGenericStorage(pictureBoxCollection.Width, pictureBoxCollection.Height); + _logger = logger; } // Заполнение listBoxObjects @@ -49,6 +55,15 @@ namespace ProjectBoat_bae // Добавление набора в коллекцию private void ButtonAddObject_Click_1(object sender, EventArgs e) { + //if (string.IsNullOrEmpty(textBoxStorageName.Text)) + //{ + // MessageBox.Show("Не все данные заполнены", "Ошибка", + // MessageBoxButtons.OK, MessageBoxIcon.Error); + // return; + //} + //_storage.AddSet(textBoxStorageName.Text); + //ReloadObjects(); + if (string.IsNullOrEmpty(textBoxStorageName.Text)) { MessageBox.Show("Не все данные заполнены", "Ошибка", @@ -57,6 +72,7 @@ namespace ProjectBoat_bae } _storage.AddSet(textBoxStorageName.Text); ReloadObjects(); + _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); } // Удаление набора @@ -66,12 +82,20 @@ namespace ProjectBoat_bae { return; } - if (MessageBox.Show($"Удалить объект {listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, - MessageBoxIcon.Question) == DialogResult.Yes) + // if (MessageBox.Show($"Удалить объект {listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, + //MessageBoxIcon.Question) == DialogResult.Yes) + // { + // _storage.DelSet(listBoxStorages.SelectedItem.ToString() + // ?? string.Empty); + // ReloadObjects(); + // } + string name = listBoxStorages.SelectedItem.ToString() ?? string.Empty; + if (MessageBox.Show($"Удалить объект {name}?", "Удаление", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - _storage.DelSet(listBoxStorages.SelectedItem.ToString() - ?? string.Empty); + _storage.DelSet(name); ReloadObjects(); + _logger.LogInformation($"Удален набор: {name}"); } } @@ -167,15 +191,16 @@ namespace ProjectBoat_bae { if (saveFileDialog.ShowDialog() == DialogResult.OK) { - if (_storage.SaveData(saveFileDialog.FileName)) + try { - MessageBox.Show("Сохранение прошло успешно", "Результат", - MessageBoxButtons.OK, MessageBoxIcon.Information); + _storage.SaveData(saveFileDialog.FileName); + MessageBox.Show("Сохранение прошло успешно", + "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); } - else + catch (Exception ex) { - MessageBox.Show("Не сохранилось", "Результат", - MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show($"Не сохранилось: {ex.Message}", + "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } @@ -183,15 +208,52 @@ namespace ProjectBoat_bae //загрузка private void LoadToolStripMenu_Click(object sender, EventArgs args) { + //if (openFileDialog.ShowDialog() == DialogResult.OK) + //{ + // if (_storage.LoadData(openFileDialog.FileName)) + // { + // MessageBox.Show("Load Complete", "Result", + // MessageBoxButtons.OK, MessageBoxIcon.Information); + // ReloadObjects(); + // } + // else + // { + // MessageBox.Show("Load Not Complete", "Result", + // MessageBoxButtons.OK, MessageBoxIcon.Error); + // } + //} + if (openFileDialog.ShowDialog() == DialogResult.OK) { if (_storage.LoadData(openFileDialog.FileName)) - MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + { + MessageBox.Show("Загрузка прошла успешно", + "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + } else - MessageBox.Show("Не загрузилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + { + MessageBox.Show("Не загрузилось", "Результат", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } } - ReloadObjects(); + + //if (openFileDialog.ShowDialog() == DialogResult.OK) + //{ + // try + // { + // _storage.LoadData(openFileDialog.FileName); + + // MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + // _logger.LogInformation("Загрузка прошла успешно"); + // } + // catch (Exception ex) + // { + // MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + // _logger.LogWarning($"Не загрузилось: {ex.Message}"); + // } + //} + //ReloadObjects(); } } } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs index a3e16a5..d929294 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.DirectoryServices.ActiveDirectory; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -49,14 +50,15 @@ namespace ProjectBoat_bae.Generics private readonly char _separatorRecords = ';'; private static readonly char _separatorForObject = ':'; - public bool SaveData(string filename) + public void SaveData(string filename) { if (File.Exists(filename)) { File.Delete(filename); } StringBuilder data = new(); - foreach (KeyValuePair> record in _boatStorages) + foreach (KeyValuePair> record in _boatStorages) { StringBuilder records = new(); foreach (Drawningboat? elem in record.Value.GetBoats) @@ -67,13 +69,14 @@ namespace ProjectBoat_bae.Generics } if (data.Length == 0) { - return false; + throw new Exception("Невалиданя операция, нет данных для сохранения"); } - using (StreamWriter writer = new StreamWriter(filename)) - { - writer.Write($"PlaneStorage{Environment.NewLine}{data}"); - } - return true; + using FileStream fs = new(filename, FileMode.Create); + byte[] info = new + UTF8Encoding(true).GetBytes($"CarStorage{Environment.NewLine}{data}"); + fs.Write(info, 0, info.Length); + return; + } public bool LoadData(string filename) @@ -82,7 +85,6 @@ namespace ProjectBoat_bae.Generics { return false; } - using (StreamReader fs = File.OpenText(filename)) { string str = fs.ReadLine(); @@ -90,7 +92,7 @@ namespace ProjectBoat_bae.Generics { return false; } - if (!str.StartsWith("BoatStorage")) + if (!str.StartsWith("ShipStorage")) { return false; } diff --git a/ProjectBoat_base/ProjectBoat_bae/Program.cs b/ProjectBoat_base/ProjectBoat_bae/Program.cs index ba97b20..b6a67c5 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Program.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Program.cs @@ -1,3 +1,7 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using NLog.Extensions.Logging; + namespace ProjectBoat_bae { internal static class Program @@ -11,7 +15,22 @@ namespace ProjectBoat_bae // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new FormBoatCollection()); + var services = new ServiceCollection(); + ConfigureServices(services); + using (ServiceProvider serviceProvider = services.BuildServiceProvider()) + { + Application.Run((serviceProvider.GetRequiredService())); + } + } + + private static void ConfigureServices(ServiceCollection services) + { + services.AddSingleton() + .AddLogging(option => + { + option.SetMinimumLevel(LogLevel.Information); + option.AddNLog("nlog.config"); + }); } } } \ No newline at end of file diff --git a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj index 13ee123..f7377a1 100644 --- a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj +++ b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj @@ -8,6 +8,11 @@ enable + + + + + True @@ -23,4 +28,10 @@ + + + Always + + + \ No newline at end of file diff --git a/ProjectBoat_base/ProjectBoat_bae/nlog.config.xml b/ProjectBoat_base/ProjectBoat_bae/nlog.config.xml new file mode 100644 index 0000000..ffef631 --- /dev/null +++ b/ProjectBoat_base/ProjectBoat_bae/nlog.config.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + -- 2.25.1 From 95892d4f59a4d693e96d49d87695666575a52618 Mon Sep 17 00:00:00 2001 From: Kristina Date: Sun, 10 Dec 2023 21:24:28 +0400 Subject: [PATCH 02/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectBoat_bae/BoatDelegate.cs | 2 +- .../ProjectBoat_bae/ExtentionBoat.cs | 2 +- .../ProjectBoat_bae/FormBoatCollection.cs | 237 +++++++++++++----- .../ProjectBoat_bae/FormBoatConfig.cs | 22 +- .../Generics/BoatsGenericCollection.cs | 3 +- .../Generics/BoatsGenericStorage.cs | 149 ++++++++--- 6 files changed, 307 insertions(+), 108 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs b/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs index 4bae00b..4e32984 100644 --- a/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs +++ b/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs @@ -9,7 +9,7 @@ namespace ProjectBoat_bae { internal class BoatDelegate { - // Делегат для передачи объекта-автомобиля + // Делегат для передачи объекта public delegate void boatDelegate(Drawningboat boat); } } diff --git a/ProjectBoat_base/ProjectBoat_bae/ExtentionBoat.cs b/ProjectBoat_base/ProjectBoat_bae/ExtentionBoat.cs index 2503329..ebeb082 100644 --- a/ProjectBoat_base/ProjectBoat_bae/ExtentionBoat.cs +++ b/ProjectBoat_base/ProjectBoat_bae/ExtentionBoat.cs @@ -10,7 +10,7 @@ using ProjectBoat_bae.Entities; namespace ProjectBoat_bae { - internal static class ExtentionCar + internal static class ExtentionBoat { // Разделитель для записи информации по объекту в файл private static readonly char _separatorForObject = ':'; diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index e9a41c4..7d17853 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -1,4 +1,6 @@ -using System; +using Microsoft.Extensions.Logging; + +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,12 +9,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -using Microsoft.Extensions.Logging; using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.Generics; using ProjectBoat_bae.Exceptions; - +using ProjectBoat_bae.MovementStrategy; +using NLog; namespace ProjectBoat_bae { @@ -22,9 +24,9 @@ namespace ProjectBoat_bae private readonly BoatsGenericStorage _storage; // Логер - private readonly ILogger _logger; + private readonly Microsoft.Extensions.Logging.ILogger? _logger; - public FormBoatCollection() + public FormBoatCollection(ILogger logger) { InitializeComponent(); _storage = new BoatsGenericStorage(pictureBoxCollection.Width, pictureBoxCollection.Height); @@ -72,7 +74,7 @@ namespace ProjectBoat_bae } _storage.AddSet(textBoxStorageName.Text); ReloadObjects(); - _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); + _logger.LogInformation($"Added set: {textBoxStorageName.Text}"); } // Удаление набора @@ -95,71 +97,143 @@ namespace ProjectBoat_bae { _storage.DelSet(name); ReloadObjects(); - _logger.LogInformation($"Удален набор: {name}"); + _logger.LogInformation($"Deleted set: {name}"); } } // Добавление объекта в набор private void ButtonAddBoat_Click(object sender, EventArgs e) { - if (listBoxStorages.SelectedIndex == -1) return; + //if (listBoxStorages.SelectedIndex == -1) return; + //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + //if (obj == null) return; + + //FormBoatConfig form = new FormBoatConfig(); + //form.AddEvent(AddBoat); + //form.Show(); + if (listBoxStorages.SelectedIndex == -1) + { + return; + } var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - if (obj == null) return; - - FormBoatConfig form = new FormBoatConfig(); - - form.AddEvent(AddBoat); - form.Show(); + if (obj == null) + { + return; + } + FormBoatConfig formPlaneConfig = new FormBoatConfig(); + formPlaneConfig.AddEvent(AddBoat); + formPlaneConfig.Show(); } private void AddBoat(Drawningboat boat) { - boat._pictureWidth = pictureBoxCollection.Width; - boat._pictureHeight = pictureBoxCollection.Height; - if (listBoxStorages.SelectedIndex == -1) return; - var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - if (obj == null) return; + //boat._pictureWidth = pictureBoxCollection.Width; + //boat._pictureHeight = pictureBoxCollection.Height; + //if (listBoxStorages.SelectedIndex == -1) return; + //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + //if (obj == null) return; - if (obj + boat) + //if (obj + boat) + //{ + // MessageBox.Show("Объект добавлен"); + // pictureBoxCollection.Image = obj.ShowBoats(); + //} + //else + //{ + // MessageBox.Show("Не удалось добавить объект"); + //} + if (listBoxStorages.SelectedIndex == -1) { + return; + } + var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + if (obj == null) + { + _logger.LogWarning("Добавление пустого объекта"); + return; + } + try + { + _ = obj + boat; MessageBox.Show("Объект добавлен"); pictureBoxCollection.Image = obj.ShowBoats(); + _logger.LogInformation($"boat added {listBoxStorages.SelectedItem.ToString()}"); } - else + catch (Exception ex) { - MessageBox.Show("Не удалось добавить объект"); + MessageBox.Show(ex.Message); + _logger.LogWarning($"boat not added {listBoxStorages.SelectedItem.ToString()}"); } } //удаление объекта private void ButtonRemoveBoat_Click(object sender, EventArgs e) { + //if (listBoxStorages.SelectedIndex == -1) + //{ + // return; + //} + //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? + //string.Empty]; + //if (obj == null) + //{ + // return; + //} + //if (MessageBox.Show("Удалить объект?", "Удаление", + //MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) + //{ + // return; + //} + //int pos = 0; + //if (textBoxBoat != null) + // pos = Convert.ToInt32(textBoxBoat.Text); + //if (obj - pos != null) + //{ + // MessageBox.Show("Объект удален"); + // pictureBoxCollection.Image = obj.ShowBoats(); + //} + //else + //{ + // MessageBox.Show("Не удалось удалить объект"); + //} if (listBoxStorages.SelectedIndex == -1) { return; } - var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? - string.Empty]; + var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; if (obj == null) { return; } - if (MessageBox.Show("Удалить объект?", "Удаление", - MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) + if (MessageBox.Show("Удалить объект?", "Удалить", MessageBoxButtons.YesNo, + MessageBoxIcon.Question) == DialogResult.No) { return; } - int pos = 0; - if (textBoxBoat != null) - pos = Convert.ToInt32(textBoxBoat.Text); - if (obj - pos != null) + try { - MessageBox.Show("Объект удален"); - pictureBoxCollection.Image = obj.ShowBoats(); + int pos = Convert.ToInt32(textBoxBoat.Text); + if (obj - pos != null) + { + MessageBox.Show("Объект удален"); + pictureBoxCollection.Image = obj.ShowBoats(); + _logger.LogInformation($"лодка удалена из набора {listBoxStorages.SelectedItem.ToString()}"); + } + else + { + MessageBox.Show("Объект не удален"); + _logger.LogWarning($"лодка не удалена из набора {listBoxStorages.SelectedItem.ToString()}"); + } } - else + catch (BoatNotFoundException ex) { - MessageBox.Show("Не удалось удалить объект"); + MessageBox.Show(ex.Message); + _logger.LogWarning($"BoatNotFound: {ex.Message} in set {listBoxStorages.SelectedItem.ToString()}"); + } + catch (Exception ex) + { + MessageBox.Show("Объект не добавлен"); + _logger.LogWarning("Not input"); } } @@ -189,18 +263,47 @@ namespace ProjectBoat_bae //сохранение private void SaveToolStripMenu_Click(object sender, EventArgs e) { + //if (saveFileDialog.ShowDialog() == DialogResult.OK) + //{ + // try + // { + // _storage.SaveData(saveFileDialog.FileName); + // MessageBox.Show("Сохранение прошло успешно", + // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + // } + // catch (Exception ex) + // { + // MessageBox.Show($"Не сохранилось: {ex.Message}", + // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + // } + //} + //if (saveFileDialog.ShowDialog() == DialogResult.OK) + //{ + // try + // { + // _storage.SaveData(saveFileDialog.FileName); + // MessageBox.Show("Сохранение завершено", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + // _logger.LogInformation($"save in file {saveFileDialog.FileName}"); + // } + // catch (Exception ex) + // { + // MessageBox.Show($"Не сохранено: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + // _logger.LogWarning($"Save to file {saveFileDialog.FileName} not complete"); + // } + //} if (saveFileDialog.ShowDialog() == DialogResult.OK) { try { _storage.SaveData(saveFileDialog.FileName); - MessageBox.Show("Сохранение прошло успешно", - "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + _logger.LogWarning($"Файл {saveFileDialog.FileName} успешно сохранен"); } catch (Exception ex) { - MessageBox.Show($"Не сохранилось: {ex.Message}", - "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning("Не удалось сохранить"); + MessageBox.Show($"Не сохранилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + } } } @@ -208,52 +311,56 @@ namespace ProjectBoat_bae //загрузка private void LoadToolStripMenu_Click(object sender, EventArgs args) { + //if (openFileDialog.ShowDialog() == DialogResult.OK) //{ // if (_storage.LoadData(openFileDialog.FileName)) // { - // MessageBox.Show("Load Complete", "Result", - // MessageBoxButtons.OK, MessageBoxIcon.Information); - // ReloadObjects(); + // MessageBox.Show("Загрузка прошла успешно", + // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); // } // else // { - // MessageBox.Show("Load Not Complete", "Result", - // MessageBoxButtons.OK, MessageBoxIcon.Error); + // MessageBox.Show("Не загрузилось", "Результат", + // MessageBoxButtons.OK, MessageBoxIcon.Error); // } //} - - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - if (_storage.LoadData(openFileDialog.FileName)) - { - MessageBox.Show("Загрузка прошла успешно", - "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - else - { - MessageBox.Show("Не загрузилось", "Результат", - MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - ReloadObjects(); - + //ReloadObjects(); //if (openFileDialog.ShowDialog() == DialogResult.OK) //{ // try // { // _storage.LoadData(openFileDialog.FileName); - - // MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // _logger.LogInformation("Загрузка прошла успешно"); + // MessageBox.Show("Загрузка завершена", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + // ReloadObjects(); + // _logger.LogInformation($"load from file {openFileDialog.FileName}"); // } // catch (Exception ex) // { - // MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - // _logger.LogWarning($"Не загрузилось: {ex.Message}"); + // MessageBox.Show($"Не загружено: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + // _logger.LogWarning($"load from file {openFileDialog.FileName} not complete"); // } //} - //ReloadObjects(); + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + try + { + _storage.LoadData(openFileDialog.FileName); + MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + _logger.LogWarning($"Файл {openFileDialog.FileName} успешно загружен"); + foreach (var collection in _storage.Keys) + { + listBoxStorages.Items.Add(collection); + } + ReloadObjects(); + } + catch (Exception ex) + { + _logger.LogWarning("Не удалось загрузить"); + MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + + } + } } } } diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs index 9333b3f..7fa604e 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs @@ -10,6 +10,10 @@ using System.Windows.Forms; using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.Entities; + +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; + namespace ProjectBoat_bae { public partial class FormBoatConfig : Form @@ -83,18 +87,28 @@ namespace ProjectBoat_bae // Действия при приеме перетаскиваемой информации private void PanelObject_DragDrop(object sender, DragEventArgs e) { + //switch (e.Data?.GetData(DataFormats.Text).ToString()) + //{ + // case "labelSimpleObject": + // _boat = new Drawningboat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, pictureBoxObject.Width, pictureBoxObject.Height); + // break; + // case "labelModifiedObject": + // _boat = new DrawningMotorBoat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, Color.Black, + // checkBoxBoat.Checked, checkBoxBoat2.Checked, pictureBoxObject.Width, pictureBoxObject.Height); + // break; + //} + //LabelColor.BackColor = Color.Empty; + //LabelAdditionalColor.BackColor = Color.Empty; + ILogger logger = new NullLogger(); switch (e.Data?.GetData(DataFormats.Text).ToString()) { case "labelSimpleObject": _boat = new Drawningboat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, pictureBoxObject.Width, pictureBoxObject.Height); break; case "labelModifiedObject": - _boat = new DrawningMotorBoat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, Color.Black, - checkBoxBoat.Checked, checkBoxBoat2.Checked, pictureBoxObject.Width, pictureBoxObject.Height); + _boat = new DrawningMotorBoat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, Color.Black, checkBoxBoat.Checked, checkBoxBoat2.Checked, pictureBoxObject.Width, pictureBoxObject.Height); break; } - LabelColor.BackColor = Color.Empty; - LabelAdditionalColor.BackColor = Color.Empty; DrawBoat(); } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs index 6ba6021..12def1a 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs @@ -102,7 +102,8 @@ namespace ProjectBoat_bae.Generics T? t = _collection[i]; if (t != null) { - t.SetPosition((i % (_pictureWidth / _placeSizeWidth)) * _placeSizeWidth, (i / (_pictureWidth / _placeSizeWidth)) * _placeSizeHeight); + t.SetPosition((i % (_pictureWidth / _placeSizeWidth)) * _placeSizeWidth, + (i / (_pictureWidth / _placeSizeWidth)) * _placeSizeHeight); if (t is Drawningboat) (t as Drawningboat).DrawTransport(g); else t.DrawTransport(g); } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs index d929294..9f66385 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs @@ -52,6 +52,30 @@ namespace ProjectBoat_bae.Generics public void SaveData(string filename) { + //if (File.Exists(filename)) + //{ + // File.Delete(filename); + //} + //StringBuilder data = new(); + //foreach (KeyValuePair> record in _boatStorages) + //{ + // StringBuilder records = new(); + // foreach (Drawningboat? elem in record.Value.GetBoats) + // { + // records.Append($"{elem?.GetDataForSave(_separatorForObject)}{_separatorRecords}"); + // } + // data.AppendLine($"{record.Key}{_separatorForKeyValue}{records}"); + //} + //if (data.Length == 0) + //{ + // throw new Exception("Невалиданя операция, нет данных для сохранения"); + //} + //using FileStream fs = new(filename, FileMode.Create); + //byte[] info = new + //UTF8Encoding(true).GetBytes($"CarStorage{Environment.NewLine}{data}"); + //fs.Write(info, 0, info.Length); + //return; if (File.Exists(filename)) { File.Delete(filename); @@ -69,65 +93,118 @@ namespace ProjectBoat_bae.Generics } if (data.Length == 0) { - throw new Exception("Невалиданя операция, нет данных для сохранения"); + throw new Exception("Невалидная операция, нет данных для сохранения"); } using FileStream fs = new(filename, FileMode.Create); byte[] info = new - UTF8Encoding(true).GetBytes($"CarStorage{Environment.NewLine}{data}"); + UTF8Encoding(true).GetBytes($"BusStorage{Environment.NewLine}{data}"); fs.Write(info, 0, info.Length); return; } - public bool LoadData(string filename) + //public bool LoadData(string filename) + public void LoadData(string filename) { + //if (!File.Exists(filename)) + //{ + // return false; + //} + //using (StreamReader fs = File.OpenText(filename)) + //{ + // string str = fs.ReadLine(); + // if (str == null || str.Length == 0) + // { + // return false; + // } + // if (!str.StartsWith("ShipStorage")) + // { + // return false; + // } + + // _boatStorages.Clear(); + // string strs = ""; + + // while ((strs = fs.ReadLine()) != null) + // { + // if (strs == null) + // { + // return false; + // } + + // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); + // if (record.Length != 2) + // { + // continue; + // } + // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); + // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); + // foreach (string elem in set) + // { + // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + // if (boat != null) + // { + // if (!(collection + boat)) + // { + // return false; + // } + // } + // } + // _boatStorages.Add(record[0], collection); + // } + // return true; + //} if (!File.Exists(filename)) { - return false; + throw new Exception("Файл не найден"); } - using (StreamReader fs = File.OpenText(filename)) + string bufferTextFromFile = ""; + using (FileStream fs = new(filename, FileMode.Open)) { - string str = fs.ReadLine(); - if (str == null || str.Length == 0) + byte[] b = new byte[fs.Length]; + UTF8Encoding temp = new(true); + while (fs.Read(b, 0, b.Length) > 0) { - return false; + bufferTextFromFile += temp.GetString(b); } - if (!str.StartsWith("ShipStorage")) + } + var strs = bufferTextFromFile.Split(new char[] { '\n', '\r' }, + StringSplitOptions.RemoveEmptyEntries); + if (strs == null || strs.Length == 0) + { + throw new Exception("Нет данных для загрузки"); + } + if (!strs[0].StartsWith("BusStorage")) + { + //если нет такой записи, то это не те данные + throw new Exception("Неверный формат данных"); + } + _boatStorages.Clear(); + foreach (string data in strs) + { + string[] record = data.Split(_separatorForKeyValue, + StringSplitOptions.RemoveEmptyEntries); + if (record.Length != 2) { - return false; + continue; } - - _boatStorages.Clear(); - string strs = ""; - - while ((strs = fs.ReadLine()) != null) + BoatsGenericCollection + collection = new(_pictureWidth, _pictureHeight); + string[] set = record[1].Split(_separatorRecords, + StringSplitOptions.RemoveEmptyEntries); + foreach (string elem in set) { - if (strs == null) + Drawningboat? boat = + elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + if (boat != null) { - return false; - } - - string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); - if (record.Length != 2) - { - continue; - } - BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); - string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); - foreach (string elem in set) - { - Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - if (boat != null) + if (!(collection + boat)) { - if (!(collection + boat)) - { - return false; - } + throw new Exception("Ошибка добавления в коллекцию"); } } - _boatStorages.Add(record[0], collection); } - return true; + _boatStorages.Add(record[0], collection); } } } -- 2.25.1 From ae34d1e2c2f495f6652b2115b4e21dcbe46416b4 Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 11 Dec 2023 11:41:00 +0400 Subject: [PATCH 03/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat_base/.editorconfig | 121 +++++++++ .../DrawningObjects/DrawningBoat.cs | 22 +- .../DrawningObjects/DrawningMotorBoat.cs | 8 +- .../ProjectBoat_bae/Entities/EntityBoat.cs | 2 +- .../FormBoatCollection.Designer.cs | 2 +- .../ProjectBoat_bae/FormBoatCollection.cs | 31 ++- .../Generics/BoatsGenericCollection.cs | 7 +- .../Generics/BoatsGenericStorage.cs | 245 +++++++++++++++--- ProjectBoat_base/ProjectBoat_bae/Program.cs | 16 +- .../ProjectBoat_bae/ProjectBoat_bae.csproj | 21 ++ .../ProjectBoat_bae/appSettings.json | 20 ++ ProjectBoat_base/ProjectBoat_base.sln | 7 +- 12 files changed, 433 insertions(+), 69 deletions(-) create mode 100644 ProjectBoat_base/.editorconfig create mode 100644 ProjectBoat_base/ProjectBoat_bae/appSettings.json diff --git a/ProjectBoat_base/.editorconfig b/ProjectBoat_base/.editorconfig new file mode 100644 index 0000000..bc38818 --- /dev/null +++ b/ProjectBoat_base/.editorconfig @@ -0,0 +1,121 @@ +[*.cs] + +# IDE0005: Директива using не нужна. +dotnet_diagnostic.IDE0005.severity = silent +csharp_style_throw_expression = true:suggestion + +[*.{cs,vb}] +dotnet_style_operator_placement_when_wrapping = beginning_of_line +tab_width = 4 +indent_size = 4 +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_auto_properties = true:silent +dotnet_style_object_initializer = true:suggestion +dotnet_style_prefer_collection_expression = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:silent +dotnet_style_prefer_conditional_expression_over_return = true:silent +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion +dotnet_style_prefer_simplified_interpolation = true:suggestion +dotnet_style_namespace_match_folder = true:suggestion +[*.cs] +#### Стили именования #### + +# Правила именования + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Спецификации символов + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Стили именования + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +[*.vb] +#### Стили именования #### + +# Правила именования + +dotnet_naming_rule.interface_should_be_начинается_с_i.severity = suggestion +dotnet_naming_rule.interface_should_be_начинается_с_i.symbols = interface +dotnet_naming_rule.interface_should_be_начинается_с_i.style = начинается_с_i + +dotnet_naming_rule.типы_should_be_всечастиспрописнойбуквы.severity = suggestion +dotnet_naming_rule.типы_should_be_всечастиспрописнойбуквы.symbols = типы +dotnet_naming_rule.типы_should_be_всечастиспрописнойбуквы.style = всечастиспрописнойбуквы + +dotnet_naming_rule.не_являющиеся_полем_члены_should_be_всечастиспрописнойбуквы.severity = suggestion +dotnet_naming_rule.не_являющиеся_полем_члены_should_be_всечастиспрописнойбуквы.symbols = не_являющиеся_полем_члены +dotnet_naming_rule.не_являющиеся_полем_члены_should_be_всечастиспрописнойбуквы.style = всечастиспрописнойбуквы + +# Спецификации символов + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.типы.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.типы.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected +dotnet_naming_symbols.типы.required_modifiers = + +dotnet_naming_symbols.не_являющиеся_полем_члены.applicable_kinds = property, event, method +dotnet_naming_symbols.не_являющиеся_полем_члены.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected +dotnet_naming_symbols.не_являющиеся_полем_члены.required_modifiers = + +# Стили именования + +dotnet_naming_style.начинается_с_i.required_prefix = I +dotnet_naming_style.начинается_с_i.required_suffix = +dotnet_naming_style.начинается_с_i.word_separator = +dotnet_naming_style.начинается_с_i.capitalization = pascal_case + +dotnet_naming_style.всечастиспрописнойбуквы.required_prefix = +dotnet_naming_style.всечастиспрописнойбуквы.required_suffix = +dotnet_naming_style.всечастиспрописнойбуквы.word_separator = +dotnet_naming_style.всечастиспрописнойбуквы.capitalization = pascal_case + +dotnet_naming_style.всечастиспрописнойбуквы.required_prefix = +dotnet_naming_style.всечастиспрописнойбуквы.required_suffix = +dotnet_naming_style.всечастиспрописнойбуквы.word_separator = +dotnet_naming_style.всечастиспрописнойбуквы.capitalization = pascal_case diff --git a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs index 1932b36..43bd97f 100644 --- a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs +++ b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs @@ -74,8 +74,16 @@ namespace ProjectBoat_bae.DrawningObjects // Установка позиции public void SetPosition(int x, int y) { - _startPosX = Math.Min(x, _pictureWidth - _boatWidth); - _startPosY = Math.Min(y, _pictureHeight - _boatHeight); + if (x < 0 || x + _boatWidth > _pictureWidth) + { + x = Math.Max(0, _pictureWidth - _boatWidth + 60); + } + if (y < 0 || y + _boatHeight > _pictureHeight) + { + y = Math.Max(0, _pictureHeight - _boatHeight + 60); + } + _startPosX = x; + _startPosY = y; } // Прорисовка объекта @@ -88,17 +96,17 @@ namespace ProjectBoat_bae.DrawningObjects Pen pen = new(Color.Black); //корпус Brush br = new SolidBrush(EntityBoat.BodyColor); - g.FillRectangle(br, _startPosX + 20, _startPosY + 65, 80, 50); + g.FillRectangle(br, _startPosX + 50, _startPosY + 85, 80, 50); //мотор Brush brRed = new SolidBrush(EntityBoat.BodyColor); - g.FillEllipse(brRed, _startPosX + 7, _startPosY + 72, 35, 35); + g.FillEllipse(brRed, _startPosX + 30, _startPosY + 92, 35, 35); //стекла Brush brBlue = new SolidBrush(Color.LightBlue); - g.FillRectangle(brBlue, _startPosX + 95, _startPosY + 67, 5, 45); - g.FillRectangle(brBlue, _startPosX + 45, _startPosY + 67, 55, 2); - g.FillRectangle(brBlue, _startPosX + 45, _startPosY + 111, 55, 2); + g.FillRectangle(brBlue, _startPosX + 125, _startPosY + 87, 5, 45); + g.FillRectangle(brBlue, _startPosX + 75, _startPosY + 87, 55, 2); + g.FillRectangle(brBlue, _startPosX + 75, _startPosY + 131, 55, 2); } // Проверка, что объект может переместится по указанному направлению diff --git a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningMotorBoat.cs b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningMotorBoat.cs index 7ecc25d..3d276c3 100644 --- a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningMotorBoat.cs +++ b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningMotorBoat.cs @@ -40,9 +40,9 @@ namespace ProjectBoat_bae.DrawningObjects if (Boat.Wing) { //вёсла - g.FillRectangle(additionalBrush, _startPosX + 35, _startPosY + 40, 5, 100); - g.FillRectangle(additionalBrush, _startPosX + 28, _startPosY + 40, 12, 8); - g.FillRectangle(additionalBrush, _startPosX + 28, _startPosY + 135, 12, 8); + g.FillRectangle(additionalBrush, _startPosX + 55, _startPosY + 60, 5, 100); + g.FillRectangle(additionalBrush, _startPosX + 48, _startPosY + 60, 12, 8); + g.FillRectangle(additionalBrush, _startPosX + 48, _startPosY + 155, 12, 8); } base.DrawTransport(g); @@ -50,7 +50,7 @@ namespace ProjectBoat_bae.DrawningObjects //кресла if (Boat.Body) { - g.FillRectangle(additionalBrush, _startPosX + 58, _startPosY + 70, 25, 40); + g.FillRectangle(additionalBrush, _startPosX + 58, _startPosY + 90, 25, 40); } } } diff --git a/ProjectBoat_base/ProjectBoat_bae/Entities/EntityBoat.cs b/ProjectBoat_base/ProjectBoat_bae/Entities/EntityBoat.cs index 5f63e22..d53ef6a 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Entities/EntityBoat.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Entities/EntityBoat.cs @@ -16,7 +16,7 @@ namespace ProjectBoat_bae.Entities public int Speed { get; private set; } public double Weight { get; private set; } public Color BodyColor { get; private set; } - public double Step => (double)Speed * 100 / Weight; + public double Step => (double)Speed * 200 / Weight; public EntityBoat(int speed, double weight, Color bodyColor) { diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs index 6cf08f4..8f64a96 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs @@ -51,7 +51,7 @@ // pictureBoxCollection.Location = new Point(0, 0); pictureBoxCollection.Name = "pictureBoxCollection"; - pictureBoxCollection.Size = new Size(929, 647); + pictureBoxCollection.Size = new Size(784, 647); pictureBoxCollection.TabIndex = 0; pictureBoxCollection.TabStop = false; // diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index 7d17853..c418804 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -341,24 +341,37 @@ namespace ProjectBoat_bae // _logger.LogWarning($"load from file {openFileDialog.FileName} not complete"); // } //} + //if (openFileDialog.ShowDialog() == DialogResult.OK) + //{ + // try + // { + // _storage.LoadData(openFileDialog.FileName); + // MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + // _logger.LogWarning($"Файл {openFileDialog.FileName} успешно загружен"); + // foreach (var collection in _storage.Keys) + // { + // listBoxStorages.Items.Add(collection); + // } + // ReloadObjects(); + // } + // catch (Exception ex) + // { + // _logger.LogWarning("Не удалось загрузить"); + // MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); + // } + //} if (openFileDialog.ShowDialog() == DialogResult.OK) { try { _storage.LoadData(openFileDialog.FileName); - MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - _logger.LogWarning($"Файл {openFileDialog.FileName} успешно загружен"); - foreach (var collection in _storage.Keys) - { - listBoxStorages.Items.Add(collection); - } + _logger.LogInformation($"Данные загружены из файла {openFileDialog.FileName}"); ReloadObjects(); } catch (Exception ex) { - _logger.LogWarning("Не удалось загрузить"); - MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - + MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); + _logger.LogWarning($"Не удалось загрузить информацию из файла: {ex.Message}"); } } } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs index 12def1a..6b11b6c 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericCollection.cs @@ -20,10 +20,10 @@ namespace ProjectBoat_bae.Generics /// /// Размер занимаемого объектом места (ширина) /// - private readonly int _placeSizeWidth = 150; + private readonly int _placeSizeWidth = 200; // Размер занимаемого объектом места (высота) - private readonly int _placeSizeHeight = 150; + private readonly int _placeSizeHeight = 200; // Набор объектов private readonly SetGeneric _collection; @@ -102,8 +102,7 @@ namespace ProjectBoat_bae.Generics T? t = _collection[i]; if (t != null) { - t.SetPosition((i % (_pictureWidth / _placeSizeWidth)) * _placeSizeWidth, - (i / (_pictureWidth / _placeSizeWidth)) * _placeSizeHeight); + t.SetPosition((i % (_pictureWidth / _placeSizeWidth)) * _placeSizeWidth, (i / (_pictureWidth / _placeSizeWidth)) * _placeSizeHeight); if (t is Drawningboat) (t as Drawningboat).DrawTransport(g); else t.DrawTransport(g); } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs index 9f66385..5e3b952 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.MovementStrategy; using ProjectBoat_bae.Entities; +using ProjectBoat_bae.Exceptions; namespace ProjectBoat_bae.Generics { @@ -76,6 +77,7 @@ namespace ProjectBoat_bae.Generics //UTF8Encoding(true).GetBytes($"CarStorage{Environment.NewLine}{data}"); //fs.Write(info, 0, info.Length); //return; + if (File.Exists(filename)) { File.Delete(filename); @@ -97,13 +99,12 @@ namespace ProjectBoat_bae.Generics } using FileStream fs = new(filename, FileMode.Create); byte[] info = new - UTF8Encoding(true).GetBytes($"BusStorage{Environment.NewLine}{data}"); + UTF8Encoding(true).GetBytes($"BoatStorage{Environment.NewLine}{data}"); fs.Write(info, 0, info.Length); return; } - //public bool LoadData(string filename) public void LoadData(string filename) { //if (!File.Exists(filename)) @@ -154,57 +155,223 @@ namespace ProjectBoat_bae.Generics // } // return true; //} + //if (!File.Exists(filename)) + //{ + // throw new Exception("Файл не найден"); + //} + //string bufferTextFromFile = ""; + //using (FileStream fs = new(filename, FileMode.Open)) + //{ + // byte[] b = new byte[fs.Length]; + // UTF8Encoding temp = new(true); + // while (fs.Read(b, 0, b.Length) > 0) + // { + // bufferTextFromFile += temp.GetString(b); + // } + //} + //var strs = bufferTextFromFile.Split(new char[] { '\n', '\r' }, + //StringSplitOptions.RemoveEmptyEntries); + //if (strs == null || strs.Length == 0) + //{ + // throw new Exception("Нет данных для загрузки"); + //} + //if (!strs[0].StartsWith("BusStorage")) + //{ + // //если нет такой записи, то это не те данные + // throw new Exception("Неверный формат данных"); + //} + //_boatStorages.Clear(); + //foreach (string data in strs) + //{ + // string[] record = data.Split(_separatorForKeyValue, + // StringSplitOptions.RemoveEmptyEntries); + // if (record.Length != 2) + // { + // continue; + // } + // BoatsGenericCollection + // collection = new(_pictureWidth, _pictureHeight); + // string[] set = record[1].Split(_separatorRecords, + // StringSplitOptions.RemoveEmptyEntries); + // foreach (string elem in set) + // { + // Drawningboat? boat = + // elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + // if (boat != null) + // { + // if (!(collection + boat)) + // { + // throw new Exception("Ошибка добавления в коллекцию"); + // } + // } + // } + // _boatStorages.Add(record[0], collection); + //} + + //using (StreamReader fs = File.OpenText(filename)) + //{ + + // string str = fs.ReadLine(); + + // if (str == null || str.Length == 0) + // { + // throw new IOException("Нет данных для загрузки"); + // } + + // if (!str.StartsWith("LocomotiveStorage")) + // { + // //если нет такой записи, то это не те данные + // throw new FileFormatException("Неверный формат данных"); + // } + + // _boatStorages.Clear(); + // string strs = ""; + + + // while ((strs = fs.ReadLine()) != null) + // { + + // if (strs == null) + // { + // throw new FileNotFoundException("Нет данных для загрузки"); + // } + + // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); + // if (record.Length != 2) + // { + // continue; + // } + // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); + // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); + // foreach (string elem in set) + // { + // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + // if (boat != null) + // { + // if (!(collection + boat)) // for my realization it's -1, for eegov's realization it's boolean + // { + // throw new Exception("Ошибка добавления "); + // } + // } + // } + // _boatStorages.Add(record[0], collection); + // } + // return; + //} + + //if (!File.Exists(filename)) + //{ + // throw new FileNotFoundException("Файл не найден"); + //} + + //using (StreamReader fs = File.OpenText(filename)) + //{ + + // string str = fs.ReadLine(); + + // if (str == null || str.Length == 0) + // { + // throw new IOException("Нет данных для загрузки"); + // } + + // if (!str.StartsWith("LocomotiveStorage")) + // { + // //если нет такой записи, то это не те данные + // throw new FileFormatException("Неверный формат данных"); + // } + + // _boatStorages.Clear(); + // string strs = ""; + + + // while ((strs = fs.ReadLine()) != null) + // { + + // if (strs == null) + // { + // throw new FileNotFoundException("Нет данных для загрузки"); + // } + + // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); + // if (record.Length != 2) + // { + // continue; + // } + // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); + // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); + // foreach (string elem in set) + // { + // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + // if (boat != null) + // { + // if ((collection + boat) == -1) // for my realization it's -1, for eegov's realization it's boolean + // { + // throw new Exception("Ошибка добавления "); + // } + // } + // } + // _boatStorages.Add(record[0], collection); + // } + // return; + //} if (!File.Exists(filename)) { - throw new Exception("Файл не найден"); + throw new FileNotFoundException("Файл не найден"); } - string bufferTextFromFile = ""; - using (FileStream fs = new(filename, FileMode.Open)) + + using (StreamReader fs = File.OpenText(filename)) { - byte[] b = new byte[fs.Length]; - UTF8Encoding temp = new(true); - while (fs.Read(b, 0, b.Length) > 0) + string str = fs.ReadLine(); + if (str == null || str.Length == 0) { - bufferTextFromFile += temp.GetString(b); + throw new ArgumentException("Нет объекта для добавления"); } - } - var strs = bufferTextFromFile.Split(new char[] { '\n', '\r' }, - StringSplitOptions.RemoveEmptyEntries); - if (strs == null || strs.Length == 0) - { - throw new Exception("Нет данных для загрузки"); - } - if (!strs[0].StartsWith("BusStorage")) - { - //если нет такой записи, то это не те данные - throw new Exception("Неверный формат данных"); - } - _boatStorages.Clear(); - foreach (string data in strs) - { - string[] record = data.Split(_separatorForKeyValue, - StringSplitOptions.RemoveEmptyEntries); - if (record.Length != 2) + if (!str.StartsWith("BoatsStorage")) { - continue; + throw new InvalidDataException("Неверный формат данных"); } - BoatsGenericCollection - collection = new(_pictureWidth, _pictureHeight); - string[] set = record[1].Split(_separatorRecords, - StringSplitOptions.RemoveEmptyEntries); - foreach (string elem in set) + + _boatStorages.Clear(); + string strs = ""; + + while ((strs = fs.ReadLine()) != null) { - Drawningboat? boat = - elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - if (boat != null) + if (strs == null) { - if (!(collection + boat)) + return; + } + + string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); + if (record.Length != 2) + { + continue; + } + BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); + string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); + foreach (string elem in set) + { + Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); + if (boat != null) { - throw new Exception("Ошибка добавления в коллекцию"); + if (!(collection + boat)) + { + try + { + _ = collection + boat; + } + catch (BoatNotFoundException e) + { + throw e; + } + catch (StorageOverflowException e) + { + throw e; + } + } } } + _boatStorages.Add(record[0], collection); } - _boatStorages.Add(record[0], collection); } } } diff --git a/ProjectBoat_base/ProjectBoat_bae/Program.cs b/ProjectBoat_base/ProjectBoat_bae/Program.cs index b6a67c5..d556d7f 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Program.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Program.cs @@ -1,6 +1,9 @@ +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.VisualBasic.ApplicationServices; using NLog.Extensions.Logging; +using Serilog; namespace ProjectBoat_bae { @@ -25,11 +28,18 @@ namespace ProjectBoat_bae private static void ConfigureServices(ServiceCollection services) { - services.AddSingleton() - .AddLogging(option => + services.AddSingleton().AddLogging(option => { + string[] path = Directory.GetCurrentDirectory().Split('\\'); + string pathNeed = ""; + for (int i = 0; i < path.Length - 3; i++) + { + pathNeed += path[i] + "\\"; + } + var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(path: $"{pathNeed}appsettings.json", optional: false, reloadOnChange: true).Build(); + var logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger(); option.SetMinimumLevel(LogLevel.Information); - option.AddNLog("nlog.config"); + option.AddSerilog(logger); }); } } diff --git a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj index f7377a1..19587fe 100644 --- a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj +++ b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj @@ -9,8 +9,29 @@ + + + + + + + + + + + + + + + + + + + + Always + diff --git a/ProjectBoat_base/ProjectBoat_bae/appSettings.json b/ProjectBoat_base/ProjectBoat_bae/appSettings.json new file mode 100644 index 0000000..d4831c9 --- /dev/null +++ b/ProjectBoat_base/ProjectBoat_bae/appSettings.json @@ -0,0 +1,20 @@ +{ + "Serilog": { + "Using": [ "Serilog.Sinks.File" ], + "MinimumLevel": "Information", + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "log_.log", + "rollingInterval": "Day", + "outputTemplate": "[{Timestamp:HH:mm:ss.fff}]{Level:u4}: {Message:lj}{NewLine}{Exception}" + } + } + ], + "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], + "Properties": { + "Application": "Boats" + } + } +} \ No newline at end of file diff --git a/ProjectBoat_base/ProjectBoat_base.sln b/ProjectBoat_base/ProjectBoat_base.sln index a6dcf8d..326656e 100644 --- a/ProjectBoat_base/ProjectBoat_base.sln +++ b/ProjectBoat_base/ProjectBoat_base.sln @@ -3,7 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34031.279 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectBoat_bae", "ProjectBoat_bae\ProjectBoat_bae.csproj", "{D8469CDA-6475-44BF-BCDE-A69B80397FE3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectBoat_bae", "ProjectBoat_bae\ProjectBoat_bae.csproj", "{D8469CDA-6475-44BF-BCDE-A69B80397FE3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9D03BD00-51B0-4389-84FD-8FF17153F0BE}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution -- 2.25.1 From 4025edbc3130bd9878a6687bc836fd07a324f26c Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 11 Dec 2023 12:01:36 +0400 Subject: [PATCH 04/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormBoatCollection.Designer.cs | 4 +-- .../ProjectBoat_bae/FormBoatCollection.cs | 35 ++++++++++++------- .../Generics/BoatsGenericStorage.cs | 2 +- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs index 8f64a96..ac590a7 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.Designer.cs @@ -154,14 +154,14 @@ // SaveToolStripMenuItem // SaveToolStripMenuItem.Name = "SaveToolStripMenuItem"; - SaveToolStripMenuItem.Size = new Size(212, 34); + SaveToolStripMenuItem.Size = new Size(270, 34); SaveToolStripMenuItem.Text = "Сохранение"; SaveToolStripMenuItem.Click += SaveToolStripMenu_Click; // // LoadToolStripMenuItem // LoadToolStripMenuItem.Name = "LoadToolStripMenuItem"; - LoadToolStripMenuItem.Size = new Size(212, 34); + LoadToolStripMenuItem.Size = new Size(270, 34); LoadToolStripMenuItem.Text = "Загрузка"; LoadToolStripMenuItem.Click += LoadToolStripMenu_Click; // diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index c418804..5044e0f 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -111,18 +111,29 @@ namespace ProjectBoat_bae //FormBoatConfig form = new FormBoatConfig(); //form.AddEvent(AddBoat); //form.Show(); - if (listBoxStorages.SelectedIndex == -1) + //if (listBoxStorages.SelectedIndex == -1) + //{ + // return; + //} + //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + //if (obj == null) + //{ + // return; + //} + //FormBoatConfig formPlaneConfig = new FormBoatConfig(); + //formPlaneConfig.AddEvent(AddBoat); + //formPlaneConfig.Show(); + + if (string.IsNullOrEmpty(textBoxStorageName.Text)) { + MessageBox.Show("Всё заполнено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning("Неудачная попытка. Коллекция не добавлена, не все данные заполнены"); return; } - var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - if (obj == null) - { - return; - } - FormBoatConfig formPlaneConfig = new FormBoatConfig(); - formPlaneConfig.AddEvent(AddBoat); - formPlaneConfig.Show(); + _storage.AddSet(textBoxStorageName.Text); + ReloadObjects(); + + _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); } private void AddBoat(Drawningboat boat) @@ -157,12 +168,12 @@ namespace ProjectBoat_bae _ = obj + boat; MessageBox.Show("Объект добавлен"); pictureBoxCollection.Image = obj.ShowBoats(); - _logger.LogInformation($"boat added {listBoxStorages.SelectedItem.ToString()}"); + _logger.LogInformation($"boat added in set{listBoxStorages.SelectedItem.ToString()}"); } catch (Exception ex) { MessageBox.Show(ex.Message); - _logger.LogWarning($"boat not added {listBoxStorages.SelectedItem.ToString()}"); + _logger.LogWarning($"boat not added in set{listBoxStorages.SelectedItem.ToString()}"); } } @@ -232,7 +243,7 @@ namespace ProjectBoat_bae } catch (Exception ex) { - MessageBox.Show("Объект не добавлен"); + MessageBox.Show("Объекта нет"); _logger.LogWarning("Not input"); } } diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs index 5e3b952..216d966 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs @@ -326,7 +326,7 @@ namespace ProjectBoat_bae.Generics { throw new ArgumentException("Нет объекта для добавления"); } - if (!str.StartsWith("BoatsStorage")) + if (str.StartsWith("BoatsStorage")) { throw new InvalidDataException("Неверный формат данных"); } -- 2.25.1 From 857e61b773032ef09a664438807828ded401506c Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 11 Dec 2023 12:17:18 +0400 Subject: [PATCH 05/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectBoat_bae/FormBoatCollection.cs | 76 ++++++++----------- 1 file changed, 30 insertions(+), 46 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index 5044e0f..bdb8e03 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -91,14 +91,25 @@ namespace ProjectBoat_bae // ?? string.Empty); // ReloadObjects(); // } - string name = listBoxStorages.SelectedItem.ToString() ?? string.Empty; - if (MessageBox.Show($"Удалить объект {name}?", "Удаление", - MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + if (string.IsNullOrEmpty(textBoxStorageName.Text)) { - _storage.DelSet(name); - ReloadObjects(); - _logger.LogInformation($"Deleted set: {name}"); + MessageBox.Show("Не всё заполнено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogWarning("Неудачная попытка. Коллекция не добавлена, не все данные заполнены"); + return; } + _storage.AddSet(textBoxStorageName.Text); + ReloadObjects(); + + _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); + + //string name = listBoxStorages.SelectedItem.ToString() ?? string.Empty; + //if (MessageBox.Show($"Удалить объект {name}?", "Удаление", + //MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + //{ + // _storage.DelSet(name); + // ReloadObjects(); + // _logger.LogInformation($"Deleted set: {name}"); + //} } // Добавление объекта в набор @@ -124,57 +135,30 @@ namespace ProjectBoat_bae //formPlaneConfig.AddEvent(AddBoat); //formPlaneConfig.Show(); - if (string.IsNullOrEmpty(textBoxStorageName.Text)) - { - MessageBox.Show("Всё заполнено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - _logger.LogWarning("Неудачная попытка. Коллекция не добавлена, не все данные заполнены"); - return; - } - _storage.AddSet(textBoxStorageName.Text); - ReloadObjects(); - - _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); + FormBoatConfig formPlaneConfig = new FormBoatConfig(); + formPlaneConfig.AddEvent(AddBoat); + formPlaneConfig.Show(); } private void AddBoat(Drawningboat boat) { - //boat._pictureWidth = pictureBoxCollection.Width; - //boat._pictureHeight = pictureBoxCollection.Height; - //if (listBoxStorages.SelectedIndex == -1) return; - //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - //if (obj == null) return; - - //if (obj + boat) - //{ - // MessageBox.Show("Объект добавлен"); - // pictureBoxCollection.Image = obj.ShowBoats(); - //} - //else - //{ - // MessageBox.Show("Не удалось добавить объект"); - //} - if (listBoxStorages.SelectedIndex == -1) - { - return; - } + boat._pictureWidth = pictureBoxCollection.Width; + boat._pictureHeight = pictureBoxCollection.Height; + if (listBoxStorages.SelectedIndex == -1) return; var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - if (obj == null) + if (obj == null) return; + + if (obj + boat) { - _logger.LogWarning("Добавление пустого объекта"); - return; - } - try - { - _ = obj + boat; MessageBox.Show("Объект добавлен"); pictureBoxCollection.Image = obj.ShowBoats(); - _logger.LogInformation($"boat added in set{listBoxStorages.SelectedItem.ToString()}"); + _logger.LogInformation($"Добавлен объект {obj}"); } - catch (Exception ex) + else { - MessageBox.Show(ex.Message); - _logger.LogWarning($"boat not added in set{listBoxStorages.SelectedItem.ToString()}"); + MessageBox.Show("Не удалось добавить объект"); } + } //удаление объекта -- 2.25.1 From add1290695685ab4482ebc1a20298504fb6a4d1f Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 11 Dec 2023 12:50:33 +0400 Subject: [PATCH 06/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat_base/ProjectBoat_bae/Program.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/Program.cs b/ProjectBoat_base/ProjectBoat_bae/Program.cs index d556d7f..6da89eb 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Program.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Program.cs @@ -1,10 +1,12 @@ -using Microsoft.Extensions.Configuration; +//using NLog; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.VisualBasic.ApplicationServices; using NLog.Extensions.Logging; using Serilog; + namespace ProjectBoat_bae { internal static class Program @@ -36,7 +38,12 @@ namespace ProjectBoat_bae { pathNeed += path[i] + "\\"; } + //используется для создания исходных текстов конфигурации для приложени + //SetBasePath Задает базовый путь для файла конфигурации к текущему каталогу приложения. + // файл JSON в качестве источника конфигурации. var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(path: $"{pathNeed}appsettings.json", optional: false, reloadOnChange: true).Build(); + //настроить формат записи логов + //используется для настройки регистратора Serilog. var logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger(); option.SetMinimumLevel(LogLevel.Information); option.AddSerilog(logger); -- 2.25.1 From 9da7eec2fc1f6f67139d02b68306289f7659fc93 Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 25 Dec 2023 00:37:34 +0400 Subject: [PATCH 07/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawningObjects/DrawningBoat.cs | 4 +- .../ProjectBoat_bae/FormBoatCollection.cs | 49 +--- .../Generics/BoatsGenericStorage.cs | 232 +----------------- .../ProjectBoat_bae/ProjectBoat_bae.csproj | 4 - 4 files changed, 8 insertions(+), 281 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs index 43bd97f..e1f41f8 100644 --- a/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs +++ b/ProjectBoat_base/ProjectBoat_bae/DrawningObjects/DrawningBoat.cs @@ -76,11 +76,11 @@ namespace ProjectBoat_bae.DrawningObjects { if (x < 0 || x + _boatWidth > _pictureWidth) { - x = Math.Max(0, _pictureWidth - _boatWidth + 60); + x = Math.Max(0, _pictureWidth - _boatWidth); } if (y < 0 || y + _boatHeight > _pictureHeight) { - y = Math.Max(0, _pictureHeight - _boatHeight + 60); + y = Math.Max(0, _pictureHeight - _boatHeight); } _startPosX = x; _startPosY = y; diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index bdb8e03..9ce6186 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -14,6 +14,7 @@ using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.Generics; using ProjectBoat_bae.Exceptions; using ProjectBoat_bae.MovementStrategy; +using Microsoft.Extensions.Logging; using NLog; namespace ProjectBoat_bae @@ -24,7 +25,9 @@ namespace ProjectBoat_bae private readonly BoatsGenericStorage _storage; // Логер - private readonly Microsoft.Extensions.Logging.ILogger? _logger; + private readonly + //Microsoft.Extensions.Logging. + ILogger? _logger; public FormBoatCollection(ILogger logger) { @@ -57,14 +60,6 @@ namespace ProjectBoat_bae // Добавление набора в коллекцию private void ButtonAddObject_Click_1(object sender, EventArgs e) { - //if (string.IsNullOrEmpty(textBoxStorageName.Text)) - //{ - // MessageBox.Show("Не все данные заполнены", "Ошибка", - // MessageBoxButtons.OK, MessageBoxIcon.Error); - // return; - //} - //_storage.AddSet(textBoxStorageName.Text); - //ReloadObjects(); if (string.IsNullOrEmpty(textBoxStorageName.Text)) { @@ -84,13 +79,7 @@ namespace ProjectBoat_bae { return; } - // if (MessageBox.Show($"Удалить объект {listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, - //MessageBoxIcon.Question) == DialogResult.Yes) - // { - // _storage.DelSet(listBoxStorages.SelectedItem.ToString() - // ?? string.Empty); - // ReloadObjects(); - // } + if (string.IsNullOrEmpty(textBoxStorageName.Text)) { MessageBox.Show("Не всё заполнено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); @@ -101,39 +90,11 @@ namespace ProjectBoat_bae ReloadObjects(); _logger.LogInformation($"Добавлен набор: {textBoxStorageName.Text}"); - - //string name = listBoxStorages.SelectedItem.ToString() ?? string.Empty; - //if (MessageBox.Show($"Удалить объект {name}?", "Удаление", - //MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - //{ - // _storage.DelSet(name); - // ReloadObjects(); - // _logger.LogInformation($"Deleted set: {name}"); - //} } // Добавление объекта в набор private void ButtonAddBoat_Click(object sender, EventArgs e) { - //if (listBoxStorages.SelectedIndex == -1) return; - //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - //if (obj == null) return; - - //FormBoatConfig form = new FormBoatConfig(); - //form.AddEvent(AddBoat); - //form.Show(); - //if (listBoxStorages.SelectedIndex == -1) - //{ - // return; - //} - //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; - //if (obj == null) - //{ - // return; - //} - //FormBoatConfig formPlaneConfig = new FormBoatConfig(); - //formPlaneConfig.AddEvent(AddBoat); - //formPlaneConfig.Show(); FormBoatConfig formPlaneConfig = new FormBoatConfig(); formPlaneConfig.AddEvent(AddBoat); diff --git a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs index 216d966..d5d2a6f 100644 --- a/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs +++ b/ProjectBoat_base/ProjectBoat_bae/Generics/BoatsGenericStorage.cs @@ -53,30 +53,6 @@ namespace ProjectBoat_bae.Generics public void SaveData(string filename) { - //if (File.Exists(filename)) - //{ - // File.Delete(filename); - //} - //StringBuilder data = new(); - //foreach (KeyValuePair> record in _boatStorages) - //{ - // StringBuilder records = new(); - // foreach (Drawningboat? elem in record.Value.GetBoats) - // { - // records.Append($"{elem?.GetDataForSave(_separatorForObject)}{_separatorRecords}"); - // } - // data.AppendLine($"{record.Key}{_separatorForKeyValue}{records}"); - //} - //if (data.Length == 0) - //{ - // throw new Exception("Невалиданя операция, нет данных для сохранения"); - //} - //using FileStream fs = new(filename, FileMode.Create); - //byte[] info = new - //UTF8Encoding(true).GetBytes($"CarStorage{Environment.NewLine}{data}"); - //fs.Write(info, 0, info.Length); - //return; if (File.Exists(filename)) { @@ -107,213 +83,7 @@ namespace ProjectBoat_bae.Generics public void LoadData(string filename) { - //if (!File.Exists(filename)) - //{ - // return false; - //} - //using (StreamReader fs = File.OpenText(filename)) - //{ - // string str = fs.ReadLine(); - // if (str == null || str.Length == 0) - // { - // return false; - // } - // if (!str.StartsWith("ShipStorage")) - // { - // return false; - // } - - // _boatStorages.Clear(); - // string strs = ""; - - // while ((strs = fs.ReadLine()) != null) - // { - // if (strs == null) - // { - // return false; - // } - - // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); - // if (record.Length != 2) - // { - // continue; - // } - // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); - // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); - // foreach (string elem in set) - // { - // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - // if (boat != null) - // { - // if (!(collection + boat)) - // { - // return false; - // } - // } - // } - // _boatStorages.Add(record[0], collection); - // } - // return true; - //} - //if (!File.Exists(filename)) - //{ - // throw new Exception("Файл не найден"); - //} - //string bufferTextFromFile = ""; - //using (FileStream fs = new(filename, FileMode.Open)) - //{ - // byte[] b = new byte[fs.Length]; - // UTF8Encoding temp = new(true); - // while (fs.Read(b, 0, b.Length) > 0) - // { - // bufferTextFromFile += temp.GetString(b); - // } - //} - //var strs = bufferTextFromFile.Split(new char[] { '\n', '\r' }, - //StringSplitOptions.RemoveEmptyEntries); - //if (strs == null || strs.Length == 0) - //{ - // throw new Exception("Нет данных для загрузки"); - //} - //if (!strs[0].StartsWith("BusStorage")) - //{ - // //если нет такой записи, то это не те данные - // throw new Exception("Неверный формат данных"); - //} - //_boatStorages.Clear(); - //foreach (string data in strs) - //{ - // string[] record = data.Split(_separatorForKeyValue, - // StringSplitOptions.RemoveEmptyEntries); - // if (record.Length != 2) - // { - // continue; - // } - // BoatsGenericCollection - // collection = new(_pictureWidth, _pictureHeight); - // string[] set = record[1].Split(_separatorRecords, - // StringSplitOptions.RemoveEmptyEntries); - // foreach (string elem in set) - // { - // Drawningboat? boat = - // elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - // if (boat != null) - // { - // if (!(collection + boat)) - // { - // throw new Exception("Ошибка добавления в коллекцию"); - // } - // } - // } - // _boatStorages.Add(record[0], collection); - //} - - //using (StreamReader fs = File.OpenText(filename)) - //{ - - // string str = fs.ReadLine(); - - // if (str == null || str.Length == 0) - // { - // throw new IOException("Нет данных для загрузки"); - // } - - // if (!str.StartsWith("LocomotiveStorage")) - // { - // //если нет такой записи, то это не те данные - // throw new FileFormatException("Неверный формат данных"); - // } - - // _boatStorages.Clear(); - // string strs = ""; - - - // while ((strs = fs.ReadLine()) != null) - // { - - // if (strs == null) - // { - // throw new FileNotFoundException("Нет данных для загрузки"); - // } - - // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); - // if (record.Length != 2) - // { - // continue; - // } - // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); - // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); - // foreach (string elem in set) - // { - // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - // if (boat != null) - // { - // if (!(collection + boat)) // for my realization it's -1, for eegov's realization it's boolean - // { - // throw new Exception("Ошибка добавления "); - // } - // } - // } - // _boatStorages.Add(record[0], collection); - // } - // return; - //} - - //if (!File.Exists(filename)) - //{ - // throw new FileNotFoundException("Файл не найден"); - //} - - //using (StreamReader fs = File.OpenText(filename)) - //{ - - // string str = fs.ReadLine(); - - // if (str == null || str.Length == 0) - // { - // throw new IOException("Нет данных для загрузки"); - // } - - // if (!str.StartsWith("LocomotiveStorage")) - // { - // //если нет такой записи, то это не те данные - // throw new FileFormatException("Неверный формат данных"); - // } - - // _boatStorages.Clear(); - // string strs = ""; - - - // while ((strs = fs.ReadLine()) != null) - // { - - // if (strs == null) - // { - // throw new FileNotFoundException("Нет данных для загрузки"); - // } - - // string[] record = strs.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); - // if (record.Length != 2) - // { - // continue; - // } - // BoatsGenericCollection collection = new(_pictureWidth, _pictureHeight); - // string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); - // foreach (string elem in set) - // { - // Drawningboat? boat = elem?.CreateDrawningBoat(_separatorForObject, _pictureWidth, _pictureHeight); - // if (boat != null) - // { - // if ((collection + boat) == -1) // for my realization it's -1, for eegov's realization it's boolean - // { - // throw new Exception("Ошибка добавления "); - // } - // } - // } - // _boatStorages.Add(record[0], collection); - // } - // return; - //} + if (!File.Exists(filename)) { throw new FileNotFoundException("Файл не найден"); diff --git a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj index 19587fe..707749f 100644 --- a/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj +++ b/ProjectBoat_base/ProjectBoat_bae/ProjectBoat_bae.csproj @@ -12,10 +12,6 @@ - - - - -- 2.25.1 From af1b077f8059a466facbf6989e3b70879054ecd9 Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 25 Dec 2023 00:46:05 +0400 Subject: [PATCH 08/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectBoat_bae/FormBoatCollection.cs | 110 +----------------- 1 file changed, 4 insertions(+), 106 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs index 9ce6186..a20afa8 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatCollection.cs @@ -14,7 +14,6 @@ using ProjectBoat_bae.DrawningObjects; using ProjectBoat_bae.Generics; using ProjectBoat_bae.Exceptions; using ProjectBoat_bae.MovementStrategy; -using Microsoft.Extensions.Logging; using NLog; namespace ProjectBoat_bae @@ -26,8 +25,7 @@ namespace ProjectBoat_bae // Логер private readonly - //Microsoft.Extensions.Logging. - ILogger? _logger; + Microsoft.Extensions.Logging.ILogger? _logger; public FormBoatCollection(ILogger logger) { @@ -125,33 +123,7 @@ namespace ProjectBoat_bae //удаление объекта private void ButtonRemoveBoat_Click(object sender, EventArgs e) { - //if (listBoxStorages.SelectedIndex == -1) - //{ - // return; - //} - //var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? - //string.Empty]; - //if (obj == null) - //{ - // return; - //} - //if (MessageBox.Show("Удалить объект?", "Удаление", - //MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) - //{ - // return; - //} - //int pos = 0; - //if (textBoxBoat != null) - // pos = Convert.ToInt32(textBoxBoat.Text); - //if (obj - pos != null) - //{ - // MessageBox.Show("Объект удален"); - // pictureBoxCollection.Image = obj.ShowBoats(); - //} - //else - //{ - // MessageBox.Show("Не удалось удалить объект"); - //} + if (listBoxStorages.SelectedIndex == -1) { return; @@ -219,34 +191,7 @@ namespace ProjectBoat_bae //сохранение private void SaveToolStripMenu_Click(object sender, EventArgs e) { - //if (saveFileDialog.ShowDialog() == DialogResult.OK) - //{ - // try - // { - // _storage.SaveData(saveFileDialog.FileName); - // MessageBox.Show("Сохранение прошло успешно", - // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // } - // catch (Exception ex) - // { - // MessageBox.Show($"Не сохранилось: {ex.Message}", - // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - // } - //} - //if (saveFileDialog.ShowDialog() == DialogResult.OK) - //{ - // try - // { - // _storage.SaveData(saveFileDialog.FileName); - // MessageBox.Show("Сохранение завершено", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // _logger.LogInformation($"save in file {saveFileDialog.FileName}"); - // } - // catch (Exception ex) - // { - // MessageBox.Show($"Не сохранено: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - // _logger.LogWarning($"Save to file {saveFileDialog.FileName} not complete"); - // } - //} + if (saveFileDialog.ShowDialog() == DialogResult.OK) { try @@ -268,54 +213,7 @@ namespace ProjectBoat_bae private void LoadToolStripMenu_Click(object sender, EventArgs args) { - //if (openFileDialog.ShowDialog() == DialogResult.OK) - //{ - // if (_storage.LoadData(openFileDialog.FileName)) - // { - // MessageBox.Show("Загрузка прошла успешно", - // "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // } - // else - // { - // MessageBox.Show("Не загрузилось", "Результат", - // MessageBoxButtons.OK, MessageBoxIcon.Error); - // } - //} - //ReloadObjects(); - //if (openFileDialog.ShowDialog() == DialogResult.OK) - //{ - // try - // { - // _storage.LoadData(openFileDialog.FileName); - // MessageBox.Show("Загрузка завершена", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // ReloadObjects(); - // _logger.LogInformation($"load from file {openFileDialog.FileName}"); - // } - // catch (Exception ex) - // { - // MessageBox.Show($"Не загружено: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - // _logger.LogWarning($"load from file {openFileDialog.FileName} not complete"); - // } - //} - //if (openFileDialog.ShowDialog() == DialogResult.OK) - //{ - // try - // { - // _storage.LoadData(openFileDialog.FileName); - // MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information); - // _logger.LogWarning($"Файл {openFileDialog.FileName} успешно загружен"); - // foreach (var collection in _storage.Keys) - // { - // listBoxStorages.Items.Add(collection); - // } - // ReloadObjects(); - // } - // catch (Exception ex) - // { - // _logger.LogWarning("Не удалось загрузить"); - // MessageBox.Show($"Не загрузилось: {ex.Message}", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error); - // } - //} + if (openFileDialog.ShowDialog() == DialogResult.OK) { try -- 2.25.1 From c41e547bab77c188dea2ad0ce7616a3fdebc0539 Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 25 Dec 2023 00:48:36 +0400 Subject: [PATCH 09/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D1=87=D0=BD=D0=BE=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs b/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs index 7fa604e..0c7d875 100644 --- a/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs +++ b/ProjectBoat_base/ProjectBoat_bae/FormBoatConfig.cs @@ -87,18 +87,7 @@ namespace ProjectBoat_bae // Действия при приеме перетаскиваемой информации private void PanelObject_DragDrop(object sender, DragEventArgs e) { - //switch (e.Data?.GetData(DataFormats.Text).ToString()) - //{ - // case "labelSimpleObject": - // _boat = new Drawningboat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, pictureBoxObject.Width, pictureBoxObject.Height); - // break; - // case "labelModifiedObject": - // _boat = new DrawningMotorBoat((int)numericUpDownSpeed.Value, (int)numericUpDownWeight.Value, Color.White, Color.Black, - // checkBoxBoat.Checked, checkBoxBoat2.Checked, pictureBoxObject.Width, pictureBoxObject.Height); - // break; - //} - //LabelColor.BackColor = Color.Empty; - //LabelAdditionalColor.BackColor = Color.Empty; + ILogger logger = new NullLogger(); switch (e.Data?.GetData(DataFormats.Text).ToString()) { -- 2.25.1 From 6e4f175cd6cf2dd856f19299e1831a67950d5fda Mon Sep 17 00:00:00 2001 From: Kristina Date: Mon, 25 Dec 2023 21:39:51 +0400 Subject: [PATCH 10/10] =?UTF-8?q?=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs diff --git a/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs b/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs deleted file mode 100644 index 4e32984..0000000 --- a/ProjectBoat_base/ProjectBoat_bae/BoatDelegate.cs +++ /dev/null @@ -1,15 +0,0 @@ -using ProjectBoat_bae.DrawningObjects; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectBoat_bae -{ - internal class BoatDelegate - { - // Делегат для передачи объекта - public delegate void boatDelegate(Drawningboat boat); - } -} -- 2.25.1