using RankingApp.Data.Models; namespace RankingApp.Data.Services { public class RankingService { private ApplicationDbContext _context; public RankingService(ApplicationDbContext context) { _context = context; } // Create public Task AddGameResult(GameResult gameResult) { _context.GameResults.Add(gameResult); _context.SaveChanges(); return Task.FromResult(gameResult); } // Read public Task> GetGameResultsAsync() { List results = _context.GameResults .OrderByDescending(item => item.Score) .ToList(); return Task.FromResult(results); } // Update public Task UpdateGameResult(GameResult gameResult) { var findResult = _context.GameResults .Where(x => x.Id == gameResult.Id) .FirstOrDefault(); if (findResult == null) return Task.FromResult(false); findResult.UserName = gameResult.UserName; findResult.Score = gameResult.Score; findResult.Date = DateTime.Now; _context.SaveChanges(); return Task.FromResult(true); } // Delete public Task DeleteGameResult(GameResult gameResult) { var findResult = _context.GameResults .Where(x => x.Id == gameResult.Id) .FirstOrDefault(); if (findResult == null) return Task.FromResult(false); _context.GameResults.Remove(findResult); _context.SaveChanges(); return Task.FromResult(true); } } }