IW4M-Admin/WebfrontCore/Controllers/HomeController.cs

46 lines
1.7 KiB
C#
Raw Normal View History

using Microsoft.AspNetCore.Diagnostics;
2018-02-21 20:29:23 -05:00
using Microsoft.AspNetCore.Mvc;
using SharedLibraryCore.Dtos;
using System.Linq;
using System.Threading.Tasks;
2018-02-21 20:29:23 -05:00
namespace WebfrontCore.Controllers
{
2018-03-06 02:22:19 -05:00
public class HomeController : BaseController
2018-02-21 20:29:23 -05:00
{
public async Task<IActionResult> Index()
2018-02-21 20:29:23 -05:00
{
ViewBag.Description = "IW4MAdmin is a complete server administration tool for IW4x.";
ViewBag.Title = Localization["WEBFRONT_HOME_TITLE"];
ViewBag.Keywords = "IW4MAdmin, server, administration, IW4x, MW2, Modern Warfare 2";
var model = new IW4MAdminInfo()
{
TotalAvailableClientSlots = Manager.GetServers().Sum(_server => _server.MaxClients),
TotalOccupiedClientSlots = Manager.GetActiveClients().Count,
TotalClientCount = await Manager.GetClientService().GetTotalClientsAsync(),
RecentClientCount = await Manager.GetClientService().GetRecentClientCount()
};
return View(model);
2018-02-21 20:29:23 -05:00
}
public IActionResult Error()
{
var exceptionFeature = HttpContext.Features.Get<IExceptionHandlerPathFeature>();
Manager.GetLogger(0).WriteError($"[Webfront] {exceptionFeature.Error.Message}");
Manager.GetLogger(0).WriteDebug(exceptionFeature.Path);
Manager.GetLogger(0).WriteDebug(exceptionFeature.Error.StackTrace);
ViewBag.Description = Localization["WEBFRONT_ERROR_DESC"];
ViewBag.Title = Localization["WEBFRONT_ERROR_TITLE"];
2019-10-23 14:35:20 -04:00
return View(exceptionFeature.Error);
}
public IActionResult ResponseStatusCode(int? statusCode = null)
{
return View(statusCode);
2018-02-21 20:29:23 -05:00
}
}
}