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);
}
}
}