From 786c0debb5e2120d8ad46a8d2fcfe22bd8f4de75 Mon Sep 17 00:00:00 2001 From: 5_fG Date: Sun, 2 Jun 2024 13:39:49 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B5=D0=BF=D0=BE=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StorageCollection.cs | 77 ++++++------------- 1 file changed, 24 insertions(+), 53 deletions(-) diff --git a/ProjectExcavator/ProjectExcavator/CollectionGenericObjects/StorageCollection.cs b/ProjectExcavator/ProjectExcavator/CollectionGenericObjects/StorageCollection.cs index f539dc8..7cfd96e 100644 --- a/ProjectExcavator/ProjectExcavator/CollectionGenericObjects/StorageCollection.cs +++ b/ProjectExcavator/ProjectExcavator/CollectionGenericObjects/StorageCollection.cs @@ -1,7 +1,5 @@ using ProjectExcavator.Drawnings; -using System.Collections.Generic; using System.Text; -using System.Xml.Linq; namespace ProjectExcavator.CollectionGenericObjects; @@ -84,26 +82,27 @@ public class StorageCollection _storages.Remove(name); } - /// - /// Доступ к коллекции - /// - /// Название коллекции - /// + /// + /// Доступ к коллекции + /// + /// Название коллекции + /// - public ICollectionGenericObjects? this[string name] - { - get + public ICollectionGenericObjects? this[string name] + { + get { if (name == null || !_storages.ContainsKey(name)) { return null; } return _storages[name]; } - } + } + /// - /// Сохранение информации по автомобилям в хранилище в файл - /// - /// Путь и имя файла - /// true - сохранение прошло успешно, false - ошибка при сохранении данных + /// Сохранение информации по машинам в хранилище в файл + /// + /// Путь и имя файла + /// true - сохранение прошло успешно, false - ошибка при сохранении данных public bool SaveData(string filename) { if (_storages.Count == 0) @@ -118,39 +117,9 @@ public class StorageCollection StringBuilder sb = new(); - sb.Append(_collectionKey); - foreach (KeyValuePair> value in _storages) + using (StreamWriter fs = new StreamWriter(filename)) { - sb.Append(Environment.NewLine); - // не сохраняем пустые коллекции - if (value.Value.Count == 0) - { - continue; - } - - sb.Append(value.Key); - sb.Append(_separatorForKeyValue); - sb.Append(value.Value.GetCollectionType); - sb.Append(_separatorForKeyValue); - sb.Append(value.Value.MaxCount); - sb.Append(_separatorForKeyValue); - - foreach (T? item in value.Value.GetItems()) - { - string data = item?.GetDataForSave() ?? string.Empty; - if (string.IsNullOrEmpty(data)) - { - continue; - } - - sb.Append(data); - sb.Append(_separatorItems); - } - } - - using (StreamWriter fs = new StreamWriter(filename)) - { - fs.WriteLine(_collectionKey.ToString()); + fs.WriteLine(_collectionKey.ToString()); foreach (KeyValuePair> kvpair in _storages) { // не сохраняем пустые коллекции @@ -170,7 +139,7 @@ public class StorageCollection sb.Append(data); sb.Append(_separatorItems); } - fs.WriteLine(sb.ToString()); + fs.WriteLine(sb.ToString()); sb.Clear(); } } @@ -178,16 +147,17 @@ public class StorageCollection } /// - /// Загрузка информации по автомобилям в хранилище из файла - /// - /// Путь и имя файла - /// true - загрузка прошла успешно, false - ошибка при загрузке данных - public bool LoadData(string filename) + /// Загрузка информации по машинам в хранилище из файла + /// + /// Путь и имя файла + /// true - загрузка прошла успешно, false - ошибка при загрузке данных + public bool LoadData(string filename) { if (!File.Exists(filename)) { return false; } + using (StreamReader sr = new StreamReader(filename)) { string? str; @@ -223,6 +193,7 @@ public class StorageCollection _storages.Add(record[0], collection); } } + return true; }