Ejemplo n.º 1
0
        public static async Task <T> ReadContent <T>(this IJsonFileStore service, string defaultContent = "{}")
            where T : class
        {
            using var stream       = new FileStream(service.GetFilePath(), FileMode.OpenOrCreate);
            using var streamReader = new StreamReader(stream, Encoding.UTF8);

            var content = await streamReader.ReadToEndAsync();

            if (string.IsNullOrEmpty(content))
            {
                content = defaultContent;
            }

            return(JsonSerializer.Deserialize <T>(content));
        }
Ejemplo n.º 2
0
 public static async Task UpdateContent <T>(this IJsonFileStore service, T data)
     where T : class
 {
     using var stream = new FileStream(service.GetFilePath(), FileMode.Truncate);
     await JsonSerializer.SerializeAsync <T>(stream, data);
 }
Ejemplo n.º 3
0
 public static string GetFilePath(this IJsonFileStore service) => Path.Combine(service.RootPath, DataFolder, service.FileName);