using Microsoft.EntityFrameworkCore; namespace ImageBoardServerApp.Data.Repository; public static class BoardsRepository { public static async Task> getBoardsAsync() { await using var db = new AppDBContext(); return await db.Boards .ToListAsync(); } public static async Task getBoardsByIdAsync(int boardID) { await using var db = new AppDBContext(); return await db.Boards.FirstOrDefaultAsync(board => board.BoardID == boardID); } public static async Task getBoardByTagAsync(string tag) { await using var db = new AppDBContext(); return await db.Boards .Where(board => board.Tag == tag) .FirstOrDefaultAsync(); } public static async Task createBoardAsync(BoardData boardToCreate) { await using var db = new AppDBContext(); await db.Boards.AddAsync(boardToCreate); if (await db.SaveChangesAsync() >= 1) { Console.WriteLine($"Created user with ID: {boardToCreate.BoardID}"); return boardToCreate.BoardID; } return -1; } public static async Task updateBoardAsync(BoardData boardToCreate) { await using var db = new AppDBContext(); db.Boards.Update(boardToCreate); return await db.SaveChangesAsync() >= 1; } public static async Task deleteBoardAsync(int boardId) { await using var db = new AppDBContext(); BoardData boardToDelete = await getBoardsByIdAsync(boardId); db.Remove(boardToDelete); return await db.SaveChangesAsync() >= 1; } }