private static bool UserHasHighscores(string username) { using (var context = new TetrisDbContext()) { return(UserExists(username) && context.Users.FirstOrDefault(u => u.Name == username).HighScores != null); } }
private static bool UserExists(string username) { using (var context = new TetrisDbContext()) { return(context.Users.FirstOrDefault(u => u.Name == username) != null); } }
public User GetUserById(int userId) { using (var context = new TetrisDbContext()) { return(context.Users.FirstOrDefault(u => u.Id == userId)); } }
public ICollection <HighScore> GetTopTenHighScores() { using (var context = new TetrisDbContext()) { var highscores = context.HighScores.OrderByDescending(h => h.Points).Include(h => h.User).Take(10).ToList(); return(highscores); } }
public List <HighScore> GetScoresByUsername(string username) { if (username == null || !UserExists(username)) { return(new List <HighScore>()); } if (!UserHasHighscores(username)) { return(new List <HighScore>()); } using (var context = new TetrisDbContext()) { return(context.Users.FirstOrDefault(u => u.Name == username).HighScores.OrderByDescending(h => h.Points).ToList()); } }
public void AddScore(string username, long points) { if (string.IsNullOrEmpty(username) || !UserExists(username)) { return; } using (var context = new TetrisDbContext()) { var user = context.Users.FirstOrDefault(u => u.Name == username); var highscore = new HighScore { User = user, Points = points, Date = DateTime.Now }; context.HighScores.Add(highscore); context.SaveChanges(); } }
public void LoginUser(string username) { User user = new User() { Name = username }; using (var context = new TetrisDbContext()) { if (context.Users.Any(u => u.Name == username)) { var userFromDb = context.Users.First(u => u.Name == username); AuthenticationManager.Login(userFromDb); } else { context.Users.Add(user); context.SaveChanges(); AuthenticationManager.Login(user); } } }