Ejemplo n.º 1
0
        // 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
            }
        }
Ejemplo n.º 4
0
        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));
            }
        }
Ejemplo n.º 5
0
        // 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());
        }