diff options
| author | Michael <[email protected]> | 2017-05-03 08:54:07 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-05-03 08:54:07 -0400 |
| commit | 96cde6df23dd611054177cb90da90df2211e7f02 (patch) | |
| tree | d46f6c68198467ce4fe199e954c1d7dee16e494a /Project-Unite/Controllers/APIController.cs | |
| parent | b44a5c227cd518e4f66c9e99857d341a380d8a60 (diff) | |
| download | project-unite-96cde6df23dd611054177cb90da90df2211e7f02.tar.gz project-unite-96cde6df23dd611054177cb90da90df2211e7f02.tar.bz2 project-unite-96cde6df23dd611054177cb90da90df2211e7f02.zip | |
More pong highscore backend.
Diffstat (limited to 'Project-Unite/Controllers/APIController.cs')
| -rw-r--r-- | Project-Unite/Controllers/APIController.cs | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/Project-Unite/Controllers/APIController.cs b/Project-Unite/Controllers/APIController.cs index b9cdcbe..1c96422 100644 --- a/Project-Unite/Controllers/APIController.cs +++ b/Project-Unite/Controllers/APIController.cs @@ -174,7 +174,43 @@ namespace Project_Unite.Controllers } } - + public ActionResult GetPongHighscores() + { + try + { + string token = Request.Headers["Authentication"].Remove(0, 6); + var user = ACL.GetUserFromToken(token); + if (user == null) + return new HttpStatusCodeResult(HttpStatusCode.Forbidden); + var db = new ApplicationDbContext(); + var highscores = new List<PongHighscore>(); + foreach (var u in db.Users) + { + highscores.Add(new PongHighscore + { + UserId = u.Id, + Level = u.Pong_HighestLevel, + CodepointsCashout = u.Pong_HighestCodepointsCashout + }); + } + + int pagecount = highscores.GetPageCount(10); + var pages = highscores.OrderByDescending(x => x.Level).ToArray(); + + var model = new PongStatsViewModel + { + Highscores = pages.ToList(), + CurrentPage = 0, + PageCount = 10 + }; + + return Content(Serializer.Serialize(model)); + } + catch + { + return new HttpStatusCodeResult(403); + } + } public ActionResult GetDisplayName() |
