Пример #1
0
        public virtual ActionResult GetRecentChanges(int gamingGroupId, [System.Web.Http.FromUri] BasicDateRangeFilter dateRangeFilter = null)
        {
            var recentChanges = _gamingGroupRetriever.GetRecentChanges(gamingGroupId, dateRangeFilter);

            var getRecentNemesisChangesRequest = new GetRecentNemesisChangesRequest
            {
                GamingGroupId = gamingGroupId,
                NumberOfRecentChangesToRetrieve = NUMBER_OF_RECENT_NEMESIS_TO_SHOW
            };
            var recentNemesisChanges          = _nemesisHistoryRetriever.GetRecentNemesisChanges(getRecentNemesisChangesRequest);
            var recentNemesisChangesViewModel = _transformer.Transform <List <NemesisChangeViewModel> >(recentNemesisChanges);

            var recentAchievemments =
                recentChanges.RecentAchievements
                .ToTransformedPagedList <PlayerAchievementWinner, PlayerAchievementWinnerViewModel>(_transformer);

            var getRecentChampionChangesFilter =
                new GetRecentChampionChangesFilter(gamingGroupId, NUMBER_OF_RECENT_CHAMPION_CHANGES_TO_SHOW);
            var recentChampionChanges =
                _recentChampionRetriever.GetRecentChampionChanges(getRecentChampionChangesFilter);
            var recentChampionChangesViewModels =
                _transformer.Transform <List <ChampionChangeViewModel> >(recentChampionChanges);

            var viewModel = new RecentGamingGroupChangesViewModel
            {
                RecentAchievements    = recentAchievemments,
                RecentNemesisChanges  = recentNemesisChangesViewModel,
                RecentChampionChanges = recentChampionChangesViewModels
            };

            return(PartialView(MVC.GamingGroup.Views._GamingGroupRecentChanges, viewModel));
        }
Пример #2
0
        public virtual ActionResult ShowRecentNemesisChanges()
        {
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = NUMBER_OF_RECENT_NEMESIS_CHANGES_TO_RETRIEVE
            };
            var recentNemesisChanges           = nemesisHistoryRetriever.GetRecentNemesisChanges(request);
            var recentNemesisChangesViewModels = nemesisChangeViewModelBuilder.Build(recentNemesisChanges).ToList();

            return(View(MVC.Player.Views.RecentNemesisChanges, recentNemesisChangesViewModels));
        }
Пример #3
0
        public void ItReturnsTheSpecifiedNumberOfNemesisChanges()
        {
            //--arrange
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = 1
            };

            //--act
            var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request);

            //--assert
            Assert.AreEqual(request.NumberOfRecentChangesToRetrieve, nemesisChanges.Count);
        }
Пример #4
0
        public void ItDoesntReturnTheSameMinionPlayerMoreThanOnce()
        {
            //--arrange
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = 10
            };

            //--act
            var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request);

            //--assert
            Assert.AreEqual(1, nemesisChanges.Count(nemesis => nemesis.MinionPlayerId == repeatedMinionPlayerId));
        }
Пример #5
0
        public void ItOnlyReturnsResultsThatMatchTheSpecifiedGamingGroupId()
        {
            //--arrange
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = 10,
                GamingGroupId = GAMING_GROUP_ID
            };

            //--act
            var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request);

            //--assert
            Assert.False(nemesisChanges.Any(x => x.NemesisPlayerId == playerIdWithWrongGamingGroup));
        }
Пример #6
0
        public void ItReturnsNemesisChangesInOrderOfDateDescending()
        {
            //--arrange
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = 10
            };

            //--act
            var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request);

            //--assert
            var sorted = nemesisChanges.OrderByDescending(s => s.DateCreated);

            CollectionAssert.AreEqual(sorted.ToList(), nemesisChanges);
        }
 public List <NemesisChange> GetRecentNemesisChanges(GetRecentNemesisChangesRequest request)
 {
     return((from nemesisChange in dataContext.GetQueryable <Nemesis>()
             .Where(x => request.GamingGroupId == null || x.NemesisPlayer.GamingGroupId == request.GamingGroupId)
             .GroupBy(n => n.MinionPlayerId)
             .Select(n => n.OrderByDescending(p => p.DateCreated)
                     .FirstOrDefault())
             select new NemesisChange
     {
         LossPercentageVersusNemesis = nemesisChange.LossPercentage,
         NemesisPlayerId = nemesisChange.NemesisPlayerId,
         NemesisPlayerName = nemesisChange.NemesisPlayer.Name,
         MinionPlayerName = nemesisChange.MinionPlayer.Name,
         MinionPlayerId = nemesisChange.MinionPlayerId,
         DateCreated = nemesisChange.DateCreated
     }).OrderByDescending(n => n.DateCreated)
            .Take(request.NumberOfRecentChangesToRetrieve)
            .ToList());
 }
Пример #8
0
        public void ItSetsAllTheFields()
        {
            //--arrange
            var request = new GetRecentNemesisChangesRequest
            {
                NumberOfRecentChangesToRetrieve = 1
            };

            //--act
            var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request);

            //--assert
            var nemesisChange = nemesisChanges[0];

            Assert.AreEqual(repeatedMinionPlayerId, nemesisChange.MinionPlayerId);
            Assert.AreEqual(repeatedMinionPlayerName1, nemesisChange.MinionPlayerName);
            Assert.AreEqual(nemesisPlayerId1, nemesisChange.NemesisPlayerId);
            Assert.AreEqual(nemesisPlayerName1, nemesisChange.NemesisPlayerName);
            Assert.AreEqual(lossPercentage, nemesisChange.LossPercentageVersusNemesis);
            Assert.AreEqual(DateTime.UtcNow.Date, nemesisChange.DateCreated.Date);
        }