using BowlingEF.Context; using BowlingEF.Entities; using BowlingRepository.Interface; using Microsoft.EntityFrameworkCore; namespace BowlingRepository; /// /// Repository class to manage data of players /// public class JoueurRepository:IJoueurRepository { private readonly BowlingContext _context; /// /// Constructor /// public JoueurRepository() { _context = new BowlingContext(); } /// /// Methode pour ajouter un joueur dans la base de données /// /// /// public async Task Add(JoueurEntity joueur) { var result = await _context.Joueurs.AddAsync(joueur); await _context.SaveChangesAsync(); return result.Entity; } /// /// Methode pour supprimer un joueur de la base de données /// /// /// public async Task Delete(long id) { JoueurEntity entity = _context.Joueurs.Find(id); if (entity == null) { return false; } _context.Joueurs.Remove(entity); return await _context.SaveChangesAsync() > 0; } /// /// Methode pour mettre à jour un joueur de la base de données /// /// /// public async Task Update(JoueurEntity joueur) { return await _context.SaveChangesAsync() > 0; } /// /// Methode pour récupérer un joueur de la base de données par son id /// /// /// public async Task GetJoueur(long id) { var data= await _context.Joueurs.FindAsync(id); return data; } /// /// Methode pour récupérer tous les joueurs de la base de données /// /// public async Task> GetAllJoueur() { return await _context.Joueurs.ToListAsync(); } /// /// Methode pour récupérer un joueur de la base de données par son pseudo /// /// /// public async Task GetJoueurByNom(string nom) { return await _context.Joueurs.FirstOrDefaultAsync(n => n.Pseudo == nom); } }