public IEnumerable <BanView> GetBanView(IEnumerable <Ban> list) { var bans = list as Ban[] ?? list.ToArray(); var guids = bans.Select(x => x.GuidIp).ToArray(); var players = _playerRepository.GetPlayers(guids); return(bans.Select(x => { var p = players.FirstOrDefault(y => y.GUID == x.GuidIp); var ban = new BanView { Num = x.Num, GuidIp = x.GuidIp, Reason = x.Reason, Minutesleft = x.Minutesleft }; if (p != null) { ban.PlayerComment = p.Comment; ban.PlayerName = p.Name; } return ban; }).ToList()); }
public async Task <IEnumerable <BanView> > GetBanViewAsync(IEnumerable <Ban> list) { using (_log.Time("GetBanViewAsync")) { var bans = list as Ban[] ?? list.ToArray(); var guids = bans.Select(x => x.GuidIp).ToArray(); var players = await _playerRepository.GetPlayersAsync(guids); return(bans.Select(x => { var p = players.FirstOrDefault(y => y.GUID == x.GuidIp); var ban = new BanView { Num = x.Num, GuidIp = x.GuidIp, Reason = x.Reason, Minutesleft = x.Minutesleft, }; if (p != null) { ban.PlayerComment = p.Comment; ban.PlayerName = p.Name; ban.SteamId = p.SteamId; } return ban; }).ToList()); } }
public void TestBanConvert() { var service = CreateService <BanViewSource>(); //var tailoredDate = (new DateTime((DateTime.Now.AddDays(5).Ticks / 10000000) * 10000000)).ToUniversalTime(); //, DateTime.Now.Kind); //DateTime.Now.AddDays(5); var tailoredDate = new DateTime((DateTime.Now.AddDays(5).Ticks / 10000000) * 10000000); //tailoredDate.Ticks = tailoredDate.Ticks; //Just some standard content view var view = new BanView() { id = 99, createUserId = 88, bannedUserId = 76, expireDate = tailoredDate, message = "Wowwee zowwoieeiy", type = BanType.@public, createDate = DateTime.Now }; var temp = service.FromView(view); var view2 = service.ToView(temp); Assert.Equal(view, view2); }
public Task <ActionResult <BanView> > AddBanView([FromBody] SimpleBanData banData) { return(MatchExceptions(async() => { var uid = GetUserIdStrict(); var realBan = new BanView() { bannedUserId = banData.bannedUserId, type = banData.type, expireDate = DateTime.UtcNow.AddHours(banData.banHours), message = banData.message }; return await CachedWriter.WriteAsync(realBan, uid); })); }
public Task <ActionResult <BanView> > PostAsync([FromBody] BanView ban) { return(ThrowToAction(() => service.WriteAsync(ban, GetRequesterNoFail()))); }
public Task <ActionResult <BanView> > WriteBanVariableAsync([FromBody] BanView ban) => MatchExceptions(() => WriteAsync(ban));