70 lines
2.6 KiB
C#
70 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Text.Json;
|
|
using System.Threading.Tasks;
|
|
|
|
/*namespace NotesDataAnalyst
|
|
{
|
|
public static class FileLoader
|
|
{
|
|
// Загрузка одной заметки из указанного файла
|
|
public static async Task<Note?> LoadDataAsync(string filePath)
|
|
{
|
|
if (!File.Exists(filePath))
|
|
{
|
|
return null; // Если файл не существует, возвращаем null
|
|
}
|
|
|
|
try
|
|
{
|
|
// Чтение JSON-содержимого из файла
|
|
string jsonString = await File.ReadAllTextAsync(filePath);
|
|
|
|
// Десериализация в объект Note
|
|
Note? note = JsonSerializer.Deserialize<Note>(jsonString);
|
|
if (note != null)
|
|
{
|
|
note.FilePath = filePath; // Устанавливаем путь к файлу, если загрузка успешна
|
|
}
|
|
|
|
return note;
|
|
}
|
|
catch (JsonException ex)
|
|
{
|
|
Console.WriteLine($"Ошибка десериализации JSON: {ex.Message}");
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
// Загрузка всех заметок из базовой папки
|
|
/* public static async Task<List<Note>> LoadAllNotesAsync(string basePath)
|
|
{
|
|
var notes = new List<Note>();
|
|
|
|
// Проверяем, существует ли базовая папка
|
|
if (!Directory.Exists(basePath))
|
|
{
|
|
return notes; // Если папки нет, возвращаем пустой список
|
|
}
|
|
|
|
// Проходим по каждой папке категории
|
|
foreach (string categoryFolder in Directory.GetDirectories(basePath))
|
|
{
|
|
// Проходим по всем JSON-файлам в папке категории
|
|
foreach (string filePath in Directory.GetFiles(categoryFolder, "*.json"))
|
|
{
|
|
Note? note = await LoadDataAsync(filePath); // Загружаем заметку из файла
|
|
if (note != null)
|
|
{
|
|
notes.Add(note); // Добавляем в список, если успешно загружено
|
|
}
|
|
}
|
|
}
|
|
|
|
return notes; // Возвращаем список всех загруженных заметок
|
|
}
|
|
}
|
|
}*/
|