Rename SzLib to SzCore

This commit is contained in:
2026-01-23 23:41:16 -06:00
parent f78f8fdf57
commit 7f232254b1
17 changed files with 29 additions and 29 deletions

58
SzCore/SzParser.cs Normal file
View File

@@ -0,0 +1,58 @@
using System.Text.Json;
using SzCore.DataObjects;
namespace SzCore;
public class SzParser(ISzFileManager szFileManager, ISzLogger szLogger)
{
private readonly JsonSerializerOptions _jsonOptions = new() { WriteIndented = true };
public string SerializeDatasetToJson(SzDataset dataset)
{
try
{
var jsonString = JsonSerializer.Serialize(dataset, _jsonOptions);
return jsonString;
}
catch (JsonException e)
{
throw new Exception("Parse Error: " + e.Message);
}
}
public SzDataset? DeserializeDataset(string jsonString)
{
try
{
var result = JsonSerializer.Deserialize<SzDataset>(jsonString, _jsonOptions);
return result;
}
catch (Exception e)
{
szLogger.LogError("Could not deserialize JSON to type SzDataset: " + e.Message);
return null;
}
}
public bool SaveDataset(SzDataset dataset)
{
var datasetPath = Path.Combine(szFileManager.DatasetsPath, dataset.Id, "dataset.json");
try
{
return szFileManager.SaveFile(datasetPath, SerializeDatasetToJson(dataset));
}
catch (Exception e)
{
szLogger.LogError("Error saving dataset: " + e.Message);
return false;
}
}
public SzDataset? LoadDataset(string datasetId)
{
var datasetPath = Path.Combine(szFileManager.DataPath, "datasets", datasetId, "dataset.json");
var json = szFileManager.LoadFile(datasetPath);
return json is null ? null : DeserializeDataset(json);
}
}