leerform recipe subsystem created
This commit is contained in:
36
Plugins/LindtLeerformPlugin/Services/CalibrationDataStore.cs
Normal file
36
Plugins/LindtLeerformPlugin/Services/CalibrationDataStore.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using LindtLeerformPlugin.Models;
|
||||
|
||||
namespace LindtLeerformPlugin.Services;
|
||||
|
||||
public static class CalibrationDataStore
|
||||
{
|
||||
private static readonly string FilePath = Path.Combine("..", "Data", "Config", "calibration.json");
|
||||
|
||||
private static readonly JsonSerializerOptions JsonOptions = new()
|
||||
{
|
||||
PropertyNameCaseInsensitive = true,
|
||||
WriteIndented = true,
|
||||
Converters = { new JsonStringEnumConverter() }
|
||||
};
|
||||
|
||||
public static CalibrationData? Load()
|
||||
{
|
||||
if (!File.Exists(FilePath))
|
||||
return null;
|
||||
|
||||
var json = File.ReadAllText(FilePath);
|
||||
return JsonSerializer.Deserialize<CalibrationData>(json, JsonOptions);
|
||||
}
|
||||
|
||||
public static void Save(CalibrationData data)
|
||||
{
|
||||
var directory = Path.GetDirectoryName(FilePath);
|
||||
if (directory != null)
|
||||
Directory.CreateDirectory(directory);
|
||||
|
||||
var json = JsonSerializer.Serialize(data, JsonOptions);
|
||||
File.WriteAllText(FilePath, json);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user