IW4M-Admin/WebfrontCore/ViewComponents/PenaltyListViewComponent.cs
RaidMax 442569b339 fixed !setlevel
fixed previous alias displayed on welcome announcement
fixed duplicate events on profile page
tweaked display of non event meta on mobile
you can view other's stats from the webconsole
penalties show privileged client's level
don't have commands to chat history
2018-02-23 23:56:03 -06:00

33 lines
1.2 KiB
C#

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)
{
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,
PunisherLevel = p.Punisher.Level.ToString(),
Offense = p.Offense,
Type = p.Type.ToString(),
TimePunished = Utilities.GetTimePassed(p.When, false),
TimeRemaining = DateTime.UtcNow > p.Expires ? "" : Utilities.TimeSpanText(p.Expires - DateTime.UtcNow)
}).ToList();
return View("_List", penaltiesDto);
}
}
}