using Common.Library; using GreadyPoang.DataLayer.Database; using GreadyPoang.EntityLayer; using Microsoft.EntityFrameworkCore; namespace GreadyPoang.DataLayer; public class GamePointRepository : IRepository { private readonly DataContext _dataContext; public GamePointRepository(DataContext dataContext) { _dataContext = dataContext; } public async Task> Get() { return await _dataContext.GamePoints.ToListAsync(); } public async Task Get(int id) { return await _dataContext.GamePoints.FindAsync(id); } public async Task Save(GamePoint entity) { var res = -1; if ((entity.GameRoundRegNr == 0) && (entity.GameRegPoints == 0)) { return res; // Validation failed } if (entity.GamePointId == 0) { _dataContext.GamePoints.Add(entity); await _dataContext.SaveChangesAsync(); res = entity.GamePointId; } else { _dataContext.GamePoints.Update(entity); await _dataContext.SaveChangesAsync(); res = entity.GamePointId; } return res; } public bool Delete(GamePoint entity) { var res = false; try { _dataContext.GamePoints.Remove(entity); _dataContext.SaveChangesAsync(); res = true; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"Error deleting participant: {ex.Message}"); res = false; } return res; } public async Task DeleteById(int Id) { var ok = false; var delObject = await this.Get(Id); if (delObject != null) { try { ok = this.Delete(delObject); } catch (Exception ex) { throw new Exception("Unsuccessful remove of GamePoint: " + ex.Message); } } return ok; } }