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; }