PizzaBot/PizzaBot/Services/JSONService.cs
2024-03-05 11:44:30 +01:00

38 lines
1.3 KiB
C#

using PizzaBot.Models;
using System.Text.Json;
namespace PizzaBot.Services
{
public class JSONService
{
public IWebHostEnvironment WebHostEnvironment { get; }
const string CONFIG_DIRECTORY_PATH = "config";
const string PIZZA_CONFIG_FILENAME = "pizza.config";
public JSONService(IWebHostEnvironment webHostEnvironment)
{
WebHostEnvironment = webHostEnvironment;
}
public PizzaConfig? ReadPizzaConfig()
{
string path = Path.Combine(WebHostEnvironment.WebRootPath, CONFIG_DIRECTORY_PATH, PIZZA_CONFIG_FILENAME);
string jsonString = File.ReadAllText(path);
PizzaConfig? pizzaConfig = JsonSerializer.Deserialize<PizzaConfig>(jsonString);
return pizzaConfig;
}
public void WritePizzaConfig(PizzaConfig pizzaConfig)
{
string path = Path.Combine(WebHostEnvironment.WebRootPath, CONFIG_DIRECTORY_PATH, PIZZA_CONFIG_FILENAME);
string jsonString = JsonSerializer.Serialize(pizzaConfig);
File.WriteAllText(path, jsonString);
}
public string GetPizzaConfigPath()
{
return Path.Combine(WebHostEnvironment.WebRootPath, CONFIG_DIRECTORY_PATH, PIZZA_CONFIG_FILENAME);
}
}
}