Загрузка данных


using SQLite;
using WorkoutTracker.Models;

namespace WorkoutTracker.Services
{
    public class WorkoutDatabase
    {
        private SQLiteAsyncConnection _database;

        public async Task Init()
        {
            if (_database != null)
                return;

            string dbPath = Path.Combine(FileSystem.AppDataDirectory, "workouts.db");

            _database = new SQLiteAsyncConnection(dbPath);

            await _database.CreateTableAsync<Workout>();
        }

        public async Task<List<Workout>> GetWorkoutsAsync()
        {
            await Init();
            return await _database.Table<Workout>().ToListAsync();
        }

        public async Task AddWorkoutAsync(Workout workout)
        {
            await Init();
            await _database.InsertAsync(workout);
        }

        public async Task DeleteWorkoutAsync(Workout workout)
        {
            await Init();
            await _database.DeleteAsync(workout);
        }

        public async Task UpdateWorkoutAsync(Workout workout)
        {
            await Init();
            await _database.UpdateAsync(workout);
        }
    }
}