summaryrefslogtreecommitdiff
path: root/Project-Unite/Controllers/APIController.cs
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-05-03 08:54:07 -0400
committerMichael <[email protected]>2017-05-03 08:54:07 -0400
commit96cde6df23dd611054177cb90da90df2211e7f02 (patch)
treed46f6c68198467ce4fe199e954c1d7dee16e494a /Project-Unite/Controllers/APIController.cs
parentb44a5c227cd518e4f66c9e99857d341a380d8a60 (diff)
downloadproject-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.cs38
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()