Serialize converters were added

This commit is contained in:
Evgeny Redikultsev
2024-09-08 17:47:46 +05:00
parent 408e9f6999
commit 6e0b7b8070
60 changed files with 1713 additions and 443 deletions

View File

@@ -7,83 +7,83 @@ namespace StructureHelperLogics.Models.Storages
{
public class FileStorageManager
{
private readonly Dictionary<Guid, OpenedFile> _openedFiles = new Dictionary<Guid, OpenedFile>();
//public class FileStorageManager
//{
// private readonly Dictionary<Guid, OpenedFile> _openedFiles = new Dictionary<Guid, OpenedFile>();
public void OpenFile()
{
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
openFileDialog.Multiselect = true;
openFileDialog.Title = "Select Files";
// public void OpenFile()
// {
// using (OpenFileDialog openFileDialog = new OpenFileDialog())
// {
// openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
// openFileDialog.Multiselect = true;
// openFileDialog.Title = "Select Files";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
foreach (var filePath in openFileDialog.FileNames)
{
var fileId = Guid.NewGuid();
var openedFile = new OpenedFile(fileId, filePath);
// if (openFileDialog.ShowDialog() == DialogResult.OK)
// {
// foreach (var filePath in openFileDialog.FileNames)
// {
// var fileId = Guid.NewGuid();
// var openedFile = new OpenedFile(fileId, filePath);
_openedFiles[fileId] = openedFile;
// _openedFiles[fileId] = openedFile;
Console.WriteLine($"File '{openedFile.FilePath}' opened with ID: {fileId}");
}
}
}
}
// Console.WriteLine($"File '{openedFile.FilePath}' opened with ID: {fileId}");
// }
// }
// }
// }
public OpenedFile GetFile(Guid fileId)
{
if (_openedFiles.TryGetValue(fileId, out var openedFile))
{
return openedFile;
}
// public OpenedFile GetFile(Guid fileId)
// {
// if (_openedFiles.TryGetValue(fileId, out var openedFile))
// {
// return openedFile;
// }
throw new KeyNotFoundException("File not found.");
}
// throw new KeyNotFoundException("File not found.");
// }
public void CloseFile(Guid fileId)
{
if (_openedFiles.ContainsKey(fileId))
{
_openedFiles.Remove(fileId);
Console.WriteLine($"File with ID: {fileId} has been closed.");
}
else
{
throw new KeyNotFoundException("File not found.");
}
}
// public void CloseFile(Guid fileId)
// {
// if (_openedFiles.ContainsKey(fileId))
// {
// _openedFiles.Remove(fileId);
// Console.WriteLine($"File with ID: {fileId} has been closed.");
// }
// else
// {
// throw new KeyNotFoundException("File not found.");
// }
// }
public void AddRelatedObjectToFile(Guid fileId, FileRelatedObject relatedObject)
{
var openedFile = GetFile(fileId);
openedFile.AddRelatedObject(relatedObject);
Console.WriteLine($"Added related object to file ID: {fileId}, Related Object: {relatedObject}");
}
// //public void AddRelatedObjectToFile(Guid fileId, FileRelatedObject relatedObject)
// //{
// // var openedFile = GetFile(fileId);
// // openedFile.AddRelatedObject(relatedObject);
// // Console.WriteLine($"Added related object to file ID: {fileId}, Related Object: {relatedObject}");
// //}
public FileRelatedObject GetRelatedObjectFromFile(Guid fileId, Guid objectId)
{
var openedFile = GetFile(fileId);
return openedFile.GetRelatedObject(objectId);
}
// //public FileRelatedObject GetRelatedObjectFromFile(Guid fileId, Guid objectId)
// //{
// // var openedFile = GetFile(fileId);
// // return openedFile.GetRelatedObject(objectId);
// //}
public void RemoveRelatedObjectFromFile(Guid fileId, Guid objectId)
{
var openedFile = GetFile(fileId);
openedFile.RemoveRelatedObject(objectId);
Console.WriteLine($"Removed related object with ID: {objectId} from file ID: {fileId}");
}
// public void RemoveRelatedObjectFromFile(Guid fileId, Guid objectId)
// {
// var openedFile = GetFile(fileId);
// openedFile.RemoveRelatedObject(objectId);
// Console.WriteLine($"Removed related object with ID: {objectId} from file ID: {fileId}");
// }
public void ListOpenedFiles()
{
foreach (var file in _openedFiles.Values)
{
Console.WriteLine($"File ID: {file.Id}, Path: {file.FilePath}, Related Objects Count: {file.RelatedObjects.Count}");
}
}
}
// public void ListOpenedFiles()
// {
// foreach (var file in _openedFiles.Values)
// {
// Console.WriteLine($"File ID: {file.Id}, Path: {file.FilePath}, Related Objects Count: {file.RelatedObjects.Count}");
// }
// }
//}
}