Update configuration system to use JSON

This commit is contained in:
Anton Kasyanov
2016-06-02 22:48:51 +03:00
parent 08e39ab4ea
commit a30834db6c
19 changed files with 348 additions and 472 deletions

View File

@@ -1,7 +1,36 @@
namespace EveOPreview.Configuration
using System.IO;
using Newtonsoft.Json;
namespace EveOPreview.Configuration
{
public class ConfigurationStorage
public class ConfigurationStorage : IConfigurationStorage
{
private const string ConfigurationFileName = "EVE-O Preview.json";
private readonly IApplicationConfiguration _configuration;
public ConfigurationStorage(IApplicationConfiguration configuration)
{
this._configuration = configuration;
}
public void Load()
{
if (!File.Exists(ConfigurationStorage.ConfigurationFileName))
{
return;
}
string rawData = File.ReadAllText(ConfigurationStorage.ConfigurationFileName);
JsonConvert.PopulateObject(rawData, this._configuration);
}
public void Save()
{
string rawData = JsonConvert.SerializeObject(this._configuration, Formatting.Indented);
File.WriteAllText(ConfigurationStorage.ConfigurationFileName, rawData);
}
}
}