37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using LANCommander.Models;
|
|
using YamlDotNet.Serialization;
|
|
using YamlDotNet.Serialization.NamingConventions;
|
|
|
|
namespace LANCommander.Services
|
|
{
|
|
public class SettingService
|
|
{
|
|
private const string SettingsFilename = "Settings.yml";
|
|
|
|
public LANCommanderSettings GetSettings()
|
|
{
|
|
if (File.Exists(SettingsFilename))
|
|
{
|
|
var contents = File.ReadAllText(SettingsFilename);
|
|
|
|
var deserializer = new DeserializerBuilder()
|
|
.IgnoreUnmatchedProperties()
|
|
.WithNamingConvention(PascalCaseNamingConvention.Instance)
|
|
.Build();
|
|
|
|
return deserializer.Deserialize<LANCommanderSettings>(contents);
|
|
}
|
|
else
|
|
return new LANCommanderSettings();
|
|
}
|
|
|
|
public void SaveSettings(LANCommanderSettings settings)
|
|
{
|
|
var serializer = new SerializerBuilder()
|
|
.WithNamingConvention(PascalCaseNamingConvention.Instance)
|
|
.Build();
|
|
|
|
File.WriteAllText(SettingsFilename, serializer.Serialize(settings));
|
|
}
|
|
}
|
|
}
|