MossyUpdater/Services/SettingsService.cs
2025-05-31 00:06:18 +02:00

50 lines
No EOL
1.5 KiB
C#

using System.IO;
using System.Text.Json;
namespace MossyUpdater.Services
{
public class SettingsService : ISettingsService
{
private readonly string _settingsPath;
public SettingsService()
{
var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var appFolder = Path.Combine(appDataPath, "MossyUpdater");
Directory.CreateDirectory(appFolder);
_settingsPath = Path.Combine(appFolder, "settings.json");
}
public async Task<AppSettings> LoadSettingsAsync()
{
try
{
if (!File.Exists(_settingsPath))
return new AppSettings();
var json = await File.ReadAllTextAsync(_settingsPath);
var settings = JsonSerializer.Deserialize<AppSettings>(json);
return settings ?? new AppSettings();
}
catch
{
return new AppSettings();
}
}
public async Task SaveSettingsAsync(AppSettings settings)
{
try
{
var json = JsonSerializer.Serialize(settings, new JsonSerializerOptions
{
WriteIndented = true
});
await File.WriteAllTextAsync(_settingsPath, json);
}
catch
{
}
}
}
}