47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace ShadowStream.ObjecktForJason;
|
|
|
|
public class Jason_Writer
|
|
{
|
|
private readonly string _folderPath;
|
|
|
|
public Jason_Writer(string folderName = "Temp Data")
|
|
{
|
|
_folderPath = Path.Combine(Environment.CurrentDirectory, folderName);
|
|
|
|
if (!Directory.Exists(_folderPath))
|
|
Directory.CreateDirectory(_folderPath);
|
|
}
|
|
|
|
// Save one list of locJason objects to JSON file with given name
|
|
public async Task SaveList(string listName, List<locJason> list)
|
|
{
|
|
string filePath = Path.Combine(_folderPath, $"{listName}.json");
|
|
string jsonString = JsonConvert.SerializeObject(list, Formatting.Indented);
|
|
File.WriteAllText(filePath, jsonString);
|
|
}
|
|
|
|
// Load one list of locJason objects from JSON file with given name
|
|
public List<locJason> LoadList(string listName)
|
|
{
|
|
string filePath = Path.Combine(_folderPath, $"{listName}.json");
|
|
|
|
if (!File.Exists(filePath))
|
|
return new List<locJason>(); // Return empty list if file doesn't exist
|
|
|
|
string jsonString = File.ReadAllText(filePath);
|
|
return JsonConvert.DeserializeObject<List<locJason>>(jsonString) ?? new List<locJason>();
|
|
}
|
|
|
|
// Check if list file exists
|
|
public bool ListExists(string listName)
|
|
{
|
|
string filePath = Path.Combine(_folderPath, $"{listName}.json");
|
|
return File.Exists(filePath);
|
|
}
|
|
}
|