예제 #1
0
        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
            }));
        }
예제 #2
0
 protected override void OnActionExecuting(ActionExecutingContext filterContext)
 {
     if (!_playerAdminChecker.IsAdmin(PlayerId))
     {
         throw new SecurityException("Current user is not a recognized NS2 admin.");
     }
     base.OnActionExecuting(filterContext);
 }
예제 #3
0
        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
            }));
        }