public ActionResult Delete() { var playerIsAdmin = _playerAdminChecker.IsAdmin(PlayerId); var recordedGames = _gameRecordingsGetter.GetRecordedGames().OrderByDescending(x => x.StartTimeSeconds); var deletableGameRecordings = new List <IDeletableGameRecording>(); var bkaDatas = _bkaDataGetter.Get().ToList(); foreach (var recordedGame in recordedGames) { var gameRecordings = _gameRecordingsGetter.Get(recordedGame.ServerName, recordedGame.StartTimeSeconds); foreach (var gameRecording in gameRecordings) { var userMayDelete = playerIsAdmin || gameRecording.PlayerId.Equals(PlayerId); if (userMayDelete) { var bkaData = bkaDatas.SingleOrDefault(x => x.PlayerId.Equals(gameRecording.PlayerId)); var game = _gamesGetter.Get(recordedGame.ServerName, recordedGame.StartTimeSeconds); deletableGameRecordings.Add(new DeletableGameRecording(game, gameRecording.PlayerId, bkaData)); } } } return(View(new RecordingsDeleteViewModel { DeletableGameRecordings = deletableGameRecordings })); }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (!_playerAdminChecker.IsAdmin(PlayerId)) { throw new SecurityException("Current user is not a recognized NS2 admin."); } base.OnActionExecuting(filterContext); }
public ActionResult Index(long?id) { if (id.HasValue) { if (id != PlayerId && !_playerAdminChecker.IsAdmin(PlayerId)) { throw new Exception("Disallowed request."); } } else { id = PlayerId; } var bkaData = _bkaDataGetter.Get(id.Value); var bka = bkaData != null ? bkaData.Bka : string.Empty; var karmaDeltas = _karmaGetter.Get("ns2", id.Value); return(View(new KarmaViewModel { PlayerId = id.Value, Bka = bka, Deltas = karmaDeltas })); }