2018-02-21 20:29:23 -05:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using SharedLibrary;
|
|
|
|
|
using SharedLibrary.Dtos;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace WebfrontCore.ViewComponents
|
|
|
|
|
{
|
|
|
|
|
public class PenaltyListViewComponent : ViewComponent
|
|
|
|
|
{
|
|
|
|
|
public async Task<IViewComponentResult> InvokeAsync(int offset)
|
|
|
|
|
{
|
2018-03-06 02:22:19 -05:00
|
|
|
|
int ip = HttpContext.Connection.RemoteIpAddress
|
|
|
|
|
.ToString().ConvertToIP();
|
|
|
|
|
|
2018-03-27 00:54:20 -04:00
|
|
|
|
bool authed = false;
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
var a = IW4MAdmin.ApplicationManager.GetInstance()
|
|
|
|
|
.PrivilegedClients[HttpContext.Connection.RemoteIpAddress.ToString().ConvertToIP()];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
catch (KeyNotFoundException)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
2018-03-06 02:22:19 -05:00
|
|
|
|
|
2018-02-21 20:29:23 -05:00
|
|
|
|
var penalties = await IW4MAdmin.ApplicationManager.GetInstance().GetPenaltyService().GetRecentPenalties(15, offset);
|
|
|
|
|
var penaltiesDto = penalties.Select(p => new PenaltyInfo()
|
|
|
|
|
{
|
|
|
|
|
OffenderId = p.OffenderId,
|
|
|
|
|
OffenderName = p.Offender.Name,
|
|
|
|
|
PunisherId = p.PunisherId,
|
|
|
|
|
PunisherName = p.Punisher.Name,
|
2018-02-24 00:56:03 -05:00
|
|
|
|
PunisherLevel = p.Punisher.Level.ToString(),
|
2018-02-21 20:29:23 -05:00
|
|
|
|
Offense = p.Offense,
|
|
|
|
|
Type = p.Type.ToString(),
|
|
|
|
|
TimePunished = Utilities.GetTimePassed(p.When, false),
|
2018-03-06 02:22:19 -05:00
|
|
|
|
TimeRemaining = DateTime.UtcNow > p.Expires ? "" : Utilities.TimeSpanText(p.Expires - DateTime.UtcNow),
|
|
|
|
|
Sensitive = p.Type == SharedLibrary.Objects.Penalty.PenaltyType.Flag
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
penaltiesDto = authed ? penaltiesDto.ToList() : penaltiesDto.Where(p => !p.Sensitive).ToList();
|
2018-02-21 20:29:23 -05:00
|
|
|
|
|
|
|
|
|
return View("_List", penaltiesDto);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|