Files
StructureHelper/StructureHelperLogics/Models/Storages/OpenedFile.cs
2024-09-08 17:47:46 +05:00

85 lines
2.8 KiB
C#

using StructureHelperCommon.Infrastructures.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.Models.Storages
{
//public class OpenedFile
//{
// public Guid Id { get; }
// public string FilePath { get; }
// public List<ISaveable> RelatedObjects { get; } // List of related objects
// public OpenedFile(Guid id, string filePath)
// {
// Id = id;
// FilePath = filePath;
// RelatedObjects = new List<ISaveable>();
// }
// public void AddRelatedObject(ISaveable relatedObject)
// {
// RelatedObjects.Add(relatedObject);
// }
// public void RemoveRelatedObject(Guid objectId)
// {
// RelatedObjects.RemoveAll(o => o.Id == objectId);
// }
// public ISaveable GetRelatedObject(Guid objectId)
// {
// return RelatedObjects.Find(o => o.Id == objectId);
// }
//}
//class Program
//{
// [STAThread] // Required for OpenFileDialog
// static void Main()
// {
// var fileStorageManager = new FileStorageManager();
// // Open files and add them to the storage
// fileStorageManager.OpenFile();
// // List all opened files
// Console.WriteLine("\nOpened Files:");
// fileStorageManager.ListOpenedFiles();
// // Example: Adding related objects to the first opened file (if any)
// var openedFiles = new List<Guid>(fileStorageManager._openedFiles.Keys);
// if (openedFiles.Count > 0)
// {
// var firstFileId = openedFiles[0];
// var relatedObject = new FileRelatedObject("Sample Object", "This is a sample description");
// fileStorageManager.AddRelatedObjectToFile(firstFileId, relatedObject);
// Console.WriteLine("\nAfter Adding Related Object:");
// fileStorageManager.ListOpenedFiles();
// // Retrieve related object
// var retrievedObject = fileStorageManager.GetRelatedObjectFromFile(firstFileId, relatedObject.Id);
// Console.WriteLine($"\nRetrieved Related Object: {retrievedObject}");
// // Remove related object
// fileStorageManager.RemoveRelatedObjectFromFile(firstFileId, relatedObject.Id);
// Console.WriteLine("\nAfter Removing Related Object:");
// fileStorageManager.ListOpenedFiles();
// }
// // Close all files
// foreach (var fileId in openedFiles)
// {
// fileStorageManager.CloseFile(fileId);
// }
// }
//}
}