Allow sorting apps by store, name or app type

close #1568
This commit is contained in:
Umar Bolatov
2020-07-19 14:22:26 -07:00
parent 561caf966a
commit 36e3eeecaa
2 changed files with 76 additions and 4 deletions

View File

@@ -47,9 +47,42 @@ namespace BTCPayServer.Controllers
public string CreatedAppId { get; set; }
public async Task<IActionResult> ListApps()
public async Task<IActionResult> ListApps(
string sortOrder = null,
string sortOrderColumn = null
)
{
var apps = await _AppService.GetAllApps(GetUserId());
if (sortOrder != null && sortOrderColumn != null)
{
apps = apps.OrderByDescending(app =>
{
switch (sortOrderColumn)
{
case "Name":
return app.AppName;
case "Store":
return app.StoreName;
case "AppType":
return app.AppType;
default:
return app.Id;
}
}).ToArray();
switch (sortOrder)
{
case "desc":
ViewData[$"{sortOrderColumn}SortOrder"] = "asc";
break;
case "asc":
apps = apps.Reverse().ToArray();
ViewData[$"{sortOrderColumn}SortOrder"] = "desc";
break;
}
}
return View(new ListAppsViewModel()
{
Apps = apps