NoteMAUI/NoteContent/FileLoader.cs

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; // Возвращаем список всех загруженных заметок
}
}
}*/