mirror of
https://github.com/lempamo/Project-Unite.git
synced 2025-01-22 11:21:47 -05:00
Codepoints stats page
This commit is contained in:
parent
7b23b2c724
commit
737a18b592
5 changed files with 75 additions and 2 deletions
|
@ -42,5 +42,36 @@ public ActionResult Pong(int id = 1)
|
|||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult Codepoints(int id)
|
||||
{
|
||||
var db = new ApplicationDbContext();
|
||||
var highscores = new List<PongHighscore>();
|
||||
foreach (var user in db.Users)
|
||||
{
|
||||
highscores.Add(new PongHighscore
|
||||
{
|
||||
UserId = user.Id,
|
||||
Level = user.Pong_HighestLevel,
|
||||
CodepointsCashout = user.Codepoints
|
||||
});
|
||||
}
|
||||
|
||||
id = id - 1;
|
||||
|
||||
int pagecount = highscores.GetPageCount(10);
|
||||
if (id > pagecount || id < 0)
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
|
||||
var pages = highscores.OrderByDescending(x => x.CodepointsCashout).ToArray().GetItemsOnPage(id, 10);
|
||||
|
||||
var model = new PongStatsViewModel
|
||||
{
|
||||
Highscores = pages.ToList(),
|
||||
CurrentPage = id,
|
||||
PageCount = 10
|
||||
};
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -8,7 +8,7 @@ namespace Project_Unite.Models
|
|||
public class PongHighscore
|
||||
{
|
||||
public string UserId { get; set; }
|
||||
public int CodepointsCashout { get; set; }
|
||||
public long CodepointsCashout { get; set; }
|
||||
public int Level { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
@ -586,6 +586,7 @@
|
|||
<Content Include="Views\Bugs\ViewBug.cshtml" />
|
||||
<Content Include="Views\Bugs\PostBug.cshtml" />
|
||||
<Content Include="Views\Stats\Pong.cshtml" />
|
||||
<Content Include="Views\Stats\Codepoints.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
|
|
41
Project-Unite/Views/Stats/Codepoints.cshtml
Normal file
41
Project-Unite/Views/Stats/Codepoints.cshtml
Normal file
|
@ -0,0 +1,41 @@
|
|||
@model Project_Unite.Models.PongStatsViewModel
|
||||
@{
|
||||
ViewBag.Title = "Codepoints Highscores";
|
||||
}
|
||||
|
||||
<h2>Codepoints Stats</h2>
|
||||
|
||||
<p>In ShiftOS, Codepoints are your primary form of currency. You earn them by doing many actions such as playing Pong, drawing pictures in Artpad, skinning and shifting in Shifter, and more.</p>
|
||||
|
||||
<p>You can use them to upgrade your OS, download more apps, etc.</p>
|
||||
|
||||
<p>Below is a list of all users with Codepoints, starting with the top Shifters.</p>
|
||||
|
||||
|
||||
<table class="table-condensed">
|
||||
<tr>
|
||||
<th>User</th>
|
||||
<th>Codepoints</th>
|
||||
</tr>
|
||||
@foreach(var entry in Model.Highscores)
|
||||
{
|
||||
<tr>
|
||||
<td>@Html.UserLink(entry.UserId)</td>
|
||||
<td>@entry.CodepointsCashout CP</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
|
||||
<ul class="pagination">
|
||||
@for(int i = 1; i <= Model.PageCount; i++)
|
||||
{
|
||||
if (i == Model.CurrentPage - 1)
|
||||
{
|
||||
<li class="active">@Html.ActionLink(i.ToString(), "Codepoints", "Stats", new { id = i }, null)</li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li>@Html.ActionLink(i.ToString(), "Codepoints", "Stats", new { id = i }, null)</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
|
@ -30,7 +30,7 @@
|
|||
<ul class="pagination">
|
||||
@for(int i = 1; i <= Model.PageCount; i++)
|
||||
{
|
||||
if (i == Model.CurrentPage)
|
||||
if (i == Model.CurrentPage - 1)
|
||||
{
|
||||
<li class="active">@Html.ActionLink(i.ToString(), "Pong", "Stats", new { id = i }, null)</li>
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue