using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using SharedLibrary; using WebfrontCore.ViewModels; namespace WebfrontCore.Controllers { public class ActionController : BaseController { public IActionResult BanForm() { var info = new ActionInfo() { ActionButtonLabel = "Ban", Name = "Ban", Inputs = new List() { new InputInfo() { Name = "Reason", Placeholder = "" } }, Action = "BanAsync" }; return View("_ActionForm", info); } public async Task BanAsync(int targetId, string Reason) { var server = Manager.GetServers().First(); return await Task.FromResult(RedirectToAction("ExecuteAsync", "Console", new { serverId = server.GetHashCode(), command = $"!ban @{targetId} {Reason}" })); } public IActionResult UnbanForm() { var info = new ActionInfo() { ActionButtonLabel = "Unban", Name = "Unban", Inputs = new List() { new InputInfo() { Name = "Reason", Placeholder = "" } }, Action = "UnbanAsync" }; return View("_ActionForm", info); } public async Task UnbanAsync(int targetId, string Reason) { var server = Manager.GetServers().First(); return await Task.FromResult(RedirectToAction("ExecuteAsync", "Console", new { serverId = server.GetHashCode(), command = $"!unban @{targetId} {Reason}" })); } } }