// Get specific user // GET: api/User/5 public User Get(string id) { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Users"); User user = session.Load <User>("users/" + id + "-A"); // Load the Product and start tracking session.SaveChanges(); return(user); } }
// PUT: api/Leaderboard/5 public void Put(string gameID, string userID, [FromBody] float newScore) { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Scores"); Score gameScore = (Score)session .Query <Score>() .Where(x => x.UserID.Equals(userID) && x.GameID.Equals(gameID)); gameScore.HighScore = newScore; } }
// POST: api/Leaderboard public void Post([FromBody] Score value) { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Scores"); session.Store(value); session.SaveChanges(); // Needs check for valid credentials/data } }
public HttpResponseMessage Login(HttpRequestMessage request, [FromBody] User user) { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Users"); List <User> matchingUser = session .Query <User>() .Where(x => x.Username.Equals(user.Username) && x.Password.Equals(user.Password)) .ToList(); if (matchingUser.Count > 0) { return(request.CreateResponse(HttpStatusCode.OK, matchingUser)); } return(request.CreateResponse(HttpStatusCode.Unauthorized, matchingUser)); } }
// Updates a user with a given id // PUT: api/User/5 public void Put(int id, [FromBody] User value) { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Users"); User user = session.Load <User>("users/" + id + "-A"); // Load the Product and start tracking //session.Delete(user); user.Username = value.Username; user.Password = value.Password; user.UserMail = value.UserMail; user.OwnedGames = value.OwnedGames; // session.set(user, username, password); session.SaveChanges(); } }
public Score GetPlayerScore(string gameID, string id) // Changed return type from string to an array of scores. { using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Scores"); List <Score> gameScore = session .Query <Score>() .Where(x => x.GameID.Equals(gameID) && x.UserID.Equals(id)) .ToList(); // Load the Product and start tracking if (gameScore.Count > 0) { return(gameScore[0]); } else { return(null); } } //List<Score> sortedTopTen = leaderboard.Scores.Sort(Score.; }
// Get all scores within a game // GET: api/Leaderboard/5 public Score[] Get(string id) // Changed return type from string to an array of scores. { Leaderboard leaderboard = new Leaderboard(); using (IDocumentSession session = RavenDocumentStore.Store.OpenSession()) // Open a session for a default 'Database' { EnsureDatabaseExists.DatabaseExists(RavenDocumentStore.Store, "Scores"); List <Score> gameScores = session .Query <Score>() .Where(x => x.GameID.Equals(id)) .ToList(); // Load the Product and start tracking leaderboard.Scores = gameScores; // session.set(user, username, password); // } //List<Score> sortedTopTen = leaderboard.Scores.Sort(Score.; List <Score> temp = leaderboard.Scores.OrderByDescending(o => o.HighScore).ToList(); return(temp.GetRange(0, leaderboard.Scores.Count).ToArray()); }