Exemplo n.º 1
0
        public void Can_Filter_Games()
        {
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game> {
                new Game {
                    GameId = 1, Name = "game1", Category = "shooter"
                },
                new Game {
                    GameId = 2, Name = "game2", Category = "action"
                },
                new Game {
                    GameId = 3, Name = "game3", Category = "action"
                },
                new Game {
                    GameId = 4, Name = "game4", Category = "rpg"
                },
                new Game {
                    GameId = 5, Name = "game5", Category = "shooter"
                }
            });

            GameController controller = new GameController(mock.Object);

            GamesListViewModel gamesListViewModel = (GamesListViewModel)controller.List("shooter", 1).Model;
            List <Game>        result             = gamesListViewModel.Games.ToList();

            Assert.AreEqual(2, result.Count);
            Assert.IsTrue(result[0].Category == "shooter" && "game1" == result[0].Name);
            Assert.IsTrue(result[1].Category == "shooter" && "game5" == result[1].Name);
        }
Exemplo n.º 2
0
        void ArrangeAndAct(string curCategory, int curPage)
        {
            // Организация (arrange)
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game> {
                new Game {
                    GameId = 1, Name = "Игра1", Category = "Cat1"
                },
                new Game {
                    GameId = 2, Name = "Игра2", Category = "Cat2"
                },
                new Game {
                    GameId = 3, Name = "Игра3", Category = "Cat1"
                },
                new Game {
                    GameId = 4, Name = "Игра4", Category = "Cat2"
                },
                new Game {
                    GameId = 5, Name = "Игра5", Category = "Cat3"
                }
            });
            using (GameController controller = new GameController(mock.Object)) {
                controller.pageSize = 3;
                // Действие (act)
                _result = (GamesListViewModel)controller.List(curCategory, curPage).Model;
            }
        }
Exemplo n.º 3
0
        public void Can_Paginate()
        {
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game>
            {
                new Game {
                    GameId = 1, Name = "Игра1"
                },
                new Game {
                    GameId = 2, Name = "Игра2"
                },
                new Game {
                    GameId = 3, Name = "Игра3"
                },
                new Game {
                    GameId = 4, Name = "Игра4"
                },
                new Game {
                    GameId = 5, Name = "Игра5"
                }
            });
            GameController controller = new GameController(mock.Object);

            controller.pageSize = 3;


            GamesListViewModel result = (GamesListViewModel)controller.List(null, 2).Model;

            List <Game> games = result.Games.ToList();

            Assert.IsTrue(games.Count == 2);
            Assert.AreEqual(games[0].Name, "Игра4");
            Assert.AreEqual(games[1].Name, "Игра5");
        }
Exemplo n.º 4
0
        public void Can_Send_Pagination_View_Model()
        {
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(x => x.Games).Returns(new List <Game>
            {
                new Game {
                    GameId = 1, Name = "Игра1"
                },
                new Game {
                    GameId = 2, Name = "Игра2"
                },
                new Game {
                    GameId = 3, Name = "Игра3"
                },
                new Game {
                    GameId = 4, Name = "Игра4"
                },
                new Game {
                    GameId = 5, Name = "Игра5"
                }
            });

            GameController controller = new GameController(mock.Object);

            controller.pageSize = 3;

            GamesListViewModel model = (GamesListViewModel)controller.List(2).Model;
            PagingInfo         info  = model.PagingInfo;

            Assert.AreEqual(2, info.CurrentPage);
            Assert.AreEqual(3, info.ItemsPerPage);
            Assert.AreEqual(5, info.TotalItems);
            Assert.AreEqual(2, info.TotalPages);
        }
Exemplo n.º 5
0
        public void Can_Paginate()
        {
            // Arrange
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game> {
                new Game {
                    Id = 1, Name = "Game 1"
                },
                new Game {
                    Id = 2, Name = "Game 2"
                },
                new Game {
                    Id = 3, Name = "Game 3"
                },
                new Game {
                    Id = 4, Name = "Game 4"
                },
                new Game {
                    Id = 5, Name = "Game 5"
                },
            });
            GameController controller = new GameController(mock.Object);

            controller.pageSize = 3;
            // Act
            GamesListViewModel result = (GamesListViewModel)controller.List(null, 2).Model;
            // Assert
            List <Game> games = result.Games.ToList();

            Assert.AreEqual(games[0].Name, "Game 4");
            Assert.AreEqual(games[1].Name, "Game 5");
        } // end Can_Paginate()
        public async Task <IViewComponentResult> InvokeAsync(string gameName, bool showOnlyGamesOnWishlist = false)
        {
            var httpClient = _clientFactory.CreateClient();

            var gamesSearchUrl = Environment.GetEnvironmentVariable("PLAYSTATION_WISHLIST_API").TrimEnd('/') + "/api/games?gameName=" + gameName;

            if (User.Identity.IsAuthenticated)
            {
                int?userId = (await _userManager.GetUserAsync(HttpContext.User)).Id;
                gamesSearchUrl += $"&userId={userId}";

                if (showOnlyGamesOnWishlist)
                {
                    gamesSearchUrl += $"&onlyGamesOnWishlist={showOnlyGamesOnWishlist}";
                }
            }

            var response = await httpClient.GetAsync(gamesSearchUrl);

            var result = Newtonsoft.Json.JsonConvert.DeserializeObject <List <PlaystationWishlist.Core.Entities.PlaystationGame> >(
                await response.Content.ReadAsStringAsync());

            var model = new GamesListViewModel
            {
                GamesViewModels = _mapper.Map <List <GamesViewModel> >(result),
                ShowSearchBar   = !showOnlyGamesOnWishlist
            };

            return(View(model));
        }
Exemplo n.º 7
0
        public ActionResult List(int categoryId = 0, int page = 1)
        {
            GamesListViewModel model = new GamesListViewModel()
            {
                Games = repositoryGame.Games
                        .Where(p => categoryId == 0 || p.CategoryId == categoryId)
                        .OrderBy(game => game.GameId)
                        .Skip((page - 1) * pageSize)
                        .Take(pageSize),
                PagingInfo = new PagingInfo()
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = categoryId == 0 ?
                                   repositoryGame.Games.Count() :
                                   repositoryGame.Games.Where(game => game.CategoryId == categoryId).Count()
                }
            };

            if (page != 1 && (page <= 0 || page > model.PagingInfo.TotalPages))
            {
                return(HttpNotFound());
            }

            return(View(model));
        }
Exemplo n.º 8
0
        public void Can_Send_Pegination_View_Model()
        {
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game>
            {
                new Game {
                    GameId = 1, Name = "Game1"
                },
                new Game {
                    GameId = 2, Name = "Game2"
                },
                new Game {
                    GameId = 3, Name = "Game3"
                },
                new Game {
                    GameId = 4, Name = "Game4"
                },
                new Game {
                    GameId = 5, Name = "Game5"
                }
            });
            GameController controller = new GameController(mock.Object);

            controller.pageSize = 3;
            GamesListViewModel result
                = (GamesListViewModel)controller.List(null, 2).Model;
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }
        //
        // GET: /HockeyResults/

        public ActionResult Index()
        {
            var model = new GamesListViewModel {
                Games = Game.ActiveGames
            };

            return(View(model));
        }
Exemplo n.º 10
0
        public IActionResult Index()
        {
            GamesListViewModel obj = new GamesListViewModel();

            obj.allGames     = _allGames.Games;
            obj.gameCategory = "Games";
            return(View(obj));
        }
Exemplo n.º 11
0
        public ViewResult List()
        {
            GamesListViewModel gamesListViewModel = new GamesListViewModel();

            gamesListViewModel.Games = _gameRepository.AllGames;

            gamesListViewModel.CurrentCategory = "SuperLeague";

            return(View(gamesListViewModel));
        }
Exemplo n.º 12
0
        public ViewResult Catalog(string name, string genre, string sortBy, int page = 1)
        {
            List <Game> games = _repository.GetReleasedGames().ToList();

            if (!string.IsNullOrEmpty(genre))
            {
                genre = genre.ToLower();
                games = _repository.GetByCategory(genre).ToList();
            }

            if (!string.IsNullOrEmpty(name))
            {
                games         = _repository.GetGamesByName(name).ToList();
                ViewBag.Name  = name;
                ViewBag.Count = games.Count;
            }

            switch (sortBy)
            {
            case "price-asc":
                games = games.OrderBy(x => x.Price).ToList();
                break;

            case "price-desc":
                games = games.OrderByDescending(x => x.Price).ToList();
                break;

            case "date-asc":
                games = games.OrderBy(x => x.ReleaseDate).ToList();
                break;

            case "date-desc":
                games = games.OrderByDescending(x => x.ReleaseDate).ToList();
                break;

            case "title-asc":
                games = games.OrderBy(x => x.Name).ToList();
                break;

            case "title-desc":
                games = games.OrderByDescending(x => x.Name).ToList();
                break;
            }

            var model = new GamesListViewModel
            {
                PagedGames = games.ToPagedList(page, PageSize),
                Categories = Categories,
                Name       = name,
                Genre      = genre,
                SortBy     = sortBy
            };

            return(View(model));
        }
Exemplo n.º 13
0
        public void Can_Pagine()
        {
            controller.pageSize = 3;
            // Действие (act)
            GamesListViewModel result = (GamesListViewModel)controller.List(null, 2).Model;

            // Утверждение (assert)
            List <Game> games = result.Games.ToList();

            Assert.IsTrue(games.Count == 2);
            Assert.AreEqual(games[0].Name, "Игра4");
            Assert.AreEqual(games[1].Name, "Игра5");
        }
Exemplo n.º 14
0
        public ViewResult List(string category, int page = 1)
        {
            GamesListViewModel model = new GamesListViewModel
            {
                Games      = gameRepo.Games.Where(p => category == null || p.Category == category).OrderBy(g => g.GameId).Skip((page - 1) * pageSize).Take(pageSize),
                pagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = category == null?gameRepo.Games.Count() : gameRepo.Games.Where(g => g.Category == category).Count(),
                },
                CurrentCategory = category
            };

            return(View(model));
        }
Exemplo n.º 15
0
 // Declaring methods
 public ViewResult List(string category, int page = 1)
 {
     GamesListViewModel model = new GamesListViewModel()
     {
         Games = repository.Games.Where(w => category == null || w.Category == category).OrderBy(o => o.Id).Skip((page - 1) * pageSize).Take(pageSize),
         PagingInfo = new PagingInfo
         {
             CurrentPage = page,
             ItemsPerPage = pageSize,
             TotalItems = (category == null) ? 
                 repository.Games.Count() :
                 repository.Games.Where(w => w.Category == category).Count()
         },
         CurrentCategory = category
     };
     return View(model);
 } // end List()
Exemplo n.º 16
0
        public ActionResult Index()
        {
            var vm = new GamesListViewModel();

            var client  = new RestClient(ConfigurationManager.AppSettings["WebApiEndpoint"]);
            var request = new RestRequest(ConfigurationManager.AppSettings["WebApiEndpoint"], Method.GET);

            IRestResponse response = client.Execute(request);

            if (response.IsSuccessful)
            {
                var obj = JObject.Parse(response.Content);
                vm.Games = obj["data"].ToObject <List <Game> >();
            }

            return(View(vm));
        }
Exemplo n.º 17
0
        public ViewResult List(string category, int page = 1)
        {
            repository.Categories.ToList();
            GamesListViewModel model = new GamesListViewModel
            {
                Games      = repository.Games.Where(p => category == null || p.Category.Name == category).OrderBy(game => game.GameId).Skip((page - 1) * pageSize).Take(pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = category == null?repository.Games.Count() : repository.Games.Where(game => game.Category.Name == category).Count()
                },
                CurrentCategory = category
            };

            return(View(model));
        }
Exemplo n.º 18
0
        public void Can_Send_Pagination_View_Model()
        {
            // Организация (arrange)
            controller.pageSize = 3;

            // Act
            GamesListViewModel result
                = (GamesListViewModel)controller.List(null, 2).Model;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }
Exemplo n.º 19
0
        public IActionResult List(string category, int page = 1)
        {
            GamesListViewModel model = new GamesListViewModel
            {
                Games      = repository.GetByCategory(category, page, pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = category == null?
                                   repository.GetCount() :
                                       repository.GetCountByCategory(category)
                },
                CurrentCategory = category
            };

            return(View(model));
        }
Exemplo n.º 20
0
        public IActionResult ArchivedGames()
        {
            var gamesListViewModel = new GamesListViewModel()
            {
                Games = _context.Game
                        .Include(g => g.Arena)
                        .Include(g => g.AwayTeam)
                        .Include(g => g.GameCategory)
                        .Include(g => g.HD1)
                        .Include(g => g.HD2)
                        .Include(g => g.HomeTeam)
                        .Include(g => g.LD1)
                        .Include(g => g.LD2)
                        .Include(g => g.GameStatus).Where(g => g.Id != 0 && g.GameStatusId == 4).ToList()
            };

            return(View(gamesListViewModel));
        }
Exemplo n.º 21
0
        public IActionResult All(int id = 1)
        {
            const int itemsPerPage = 16;
            var       viewModel    = new GamesListViewModel
            {
                ItemsPerPage = itemsPerPage,
                PageNumber   = id,
                ItemsCount   = this.gamesService.GetCount(),
                Games        = this.gamesService.All <GameInListViewModel>(id, itemsPerPage),
            };

            if (id <= 0)
            {
                return(this.NotFound());
            }

            return(this.View(viewModel));
        }
Exemplo n.º 22
0
        public ViewResult List(int page = 1)
        {
            GamesListViewModel model = new GamesListViewModel
            {
                Games = repository.Games
                        .OrderBy(game => game.GameID)
                        .Skip((page - 1) * pageSize)
                        .Take(pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = repository.Games.Count()
                }
            };

            return(View(model));
        }
Exemplo n.º 23
0
        public void Can_Paginate()
        {
            Mock <IGameRepository> gameRepoMock = new Mock <IGameRepository>();

            gameRepoMock.Setup(r => r.Games).Returns(new List <Game>
            {
                new Game()
                {
                    GameId = 1, Name = "Game1"
                },
                new Game()
                {
                    GameId = 2, Name = "Game2"
                },
                new Game()
                {
                    GameId = 3, Name = "Game3"
                },
                new Game()
                {
                    GameId = 4, Name = "Game4"
                },
                new Game()
                {
                    GameId = 5, Name = "Game5"
                },
                new Game()
                {
                    GameId = 6, Name = "Game6"
                }
            });

            GameController gameController = new GameController(gameRepoMock.Object);

            gameController.pageSize = 4;

            GamesListViewModel result = (GamesListViewModel)gameController.List(null, 2).Model;

            List <Game> games = result.Games.ToList();

            Assert.IsTrue(games.Count == 2);
            Assert.AreEqual("Game5", games[0].Name);
            Assert.AreEqual("Game6", games[1].Name);
        }
Exemplo n.º 24
0
        public IActionResult POrestGamesFinal()
        {
            var gamesListViewModel = new GamesListViewModel()
            {
                Games = _context.Game
                        .Include(g => g.Arena)
                        .Include(g => g.AwayTeam)
                        .Include(g => g.GameCategory)
                        .Include(g => g.HD1)
                        .Include(g => g.HD2)
                        .Include(g => g.HomeTeam)
                        .Include(g => g.LD1)
                        .Include(g => g.LD2)
                        .Include(g => g.GameStatus)
                        .Where(g => g.HD1.Id != 0 && g.PersonId == 4923 && g.GameStatusId == 3).ToList()
            };

            return(View(gamesListViewModel));
        }
Exemplo n.º 25
0
        // FUNCTIONS //////////////////////////////////////////////////////////////////////////////
        public ViewResult List(String category, Int32 page = 1)
        {
            var model = new GamesListViewModel()
            {
                Games = _repository.Games
                        .Where(p => category == null || p.Category == category)
                        .OrderBy(game => game.GameId)
                        .Skip((page - 1) * PageSize)
                        .Take(PageSize),

                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = category == null?_repository.Games.Count() : _repository.Games.Where(game => game.Category == category).Count()
                }
            };

            return(View(model));
        }
Exemplo n.º 26
0
        public IViewComponentResult Invoke()
        {
            GamesListViewModel model = null;

            if (ViewData.Model is GamesListViewModel)
            {
                model = (GamesListViewModel)ViewData.Model;
            }

            if (model != null)
            {
                ViewBag.SelectedCategory = model.CurrentCategory;
            }
            IEnumerable <string> categories = _repository.Games
                                              .Select(game => game.Category)
                                              .Distinct()
                                              .OrderBy(x => x);

            return(View(categories));
        }
Exemplo n.º 27
0
        public void Can_Send_Pagination_View_Model()
        {
            // Организация (arrange)
            Mock <IGameRepository> mock = new Mock <IGameRepository>();

            mock.Setup(m => m.Games).Returns(new List <Game>
            {
                new Game {
                    GameId = 1, Name = "Игра1"
                },
                new Game {
                    GameId = 2, Name = "Игра2"
                },
                new Game {
                    GameId = 3, Name = "Игра3"
                },
                new Game {
                    GameId = 4, Name = "Игра4"
                },
                new Game {
                    GameId = 5, Name = "Игра5"
                }
            });

            GameController controller = new GameController(mock.Object);

            controller.pageSize = 3;

            // Act
            GamesListViewModel result
                = (GamesListViewModel)controller.List(2).Model;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }
Exemplo n.º 28
0
        public ViewResult List(string genre, int page = 1)
        {
            GamesListViewModel _model = new GamesListViewModel
            {
                Games = _repository.Games
                        .Where(g => genre == null || g.Genre == genre)  //Fiter Item
                        .OrderBy(game => game.GameId)                   //Sort item
                        .Skip((page - 1) * _pageSize)
                        .Take(_pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = _pageSize,
                    TotalItems   = genre == null?
                                   _repository.Games.Count() :
                                       _repository.Games.Where(game => game.Genre == genre).Count()
                },
                CurrentGenre = genre
            };

            return(View(_model));
        }
Exemplo n.º 29
0
        public ViewResult List(string category, int page = 1)
        {
            GamesListViewModel viewModel = new GamesListViewModel
            {
                Games = _repository.Games
                        .Where(p => category == null || p.Category == category)
                        .OrderBy(g => g.GameId)
                        .Skip((page - 1) * PageSize)
                        .Take(PageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage = page,
                    ItemPerPage = PageSize,
                    TotalItems  = category == null?
                                  _repository.Games.Count() :
                                      _repository.Games.Where(g => g.Category == category).Count()
                },
                CurrentCategory = category
            };

            return(View(viewModel));
        }
Exemplo n.º 30
0
        public ViewResult List(string category, int page = 1) //int page = 1 - необязательный параметр. Это означает, что в случае вызова метода без параметра List() вызов обрабатывается так, словно ему было передано значение, указанное в определении параметра по умолчанию List(1). В результате метод действия отображает первую страницу сведений о товарах, когда MVC Framework вызывает его без аргумента.
        {
            GamesListViewModel model = new GamesListViewModel
            {
                Games = repository.Games
                        .Where(p => category == null || p.Category == category)
                        .OrderBy(game => game.GameId)
                        .Skip((page - 1) * pageSize)
                        .Take(pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = pageSize,
                    TotalItems   = category == null?
                                   repository.Games.Count() :
                                       repository.Games.Where(game => game.Category == category).Count()
                },
                CurrentCategory = category
            };

            return(View(model));
        }