Beispiel #1
0
        public ActionResult AddGame(GameViewModel gameViewModel)
        {
            if (ModelState.IsValid)
            {
                var game = _mapper.Map <GameViewModel, Game>(gameViewModel);
                _gameService.Add(game, CurrentLanguageCode);

                return(RedirectToAction("games"));
            }

            gameViewModel.Genres        = _mapper.Map <IEnumerable <Genre>, IList <GenreViewModel> >(_genreService.GetAllGenresAndMarkSelected(gameViewModel.NameGenres, CurrentLanguageCode));
            gameViewModel.PlatformTypes = _mapper.Map <IEnumerable <PlatformType>, IList <PlatformTypeViewModel> >(_platformTypeService.GetAllPlatformTypesAndMarkSelected(gameViewModel.NamePlatformtypes, CurrentLanguageCode));
            gameViewModel.Publishers    = _mapper.Map <IEnumerable <Publisher>, IList <PublisherViewModel> >(_publisherService.Get(CurrentLanguageCode));

            return(View(gameViewModel));
        }
        public IHttpActionResult FilterGames(string contentType, FilterCriteriaViewModel filterViewModel, string size, int page = 1)
        {
            if (!ModelState.IsValid)
            {
                return(Content(HttpStatusCode.BadRequest, CreateError()));
            }
            FilterCriteria  filters = _mapper.Map <FilterCriteriaViewModel, FilterCriteria>(filterViewModel);
            PaginationGames games   = _gameService.FilterGames(filters, page, size, CurrentLanguage);

            filterViewModel.Genres        = _mapper.Map <IEnumerable <Genre>, IList <GenreViewModel> >(_genreService.GetAllGenresAndMarkSelectedForFilter(filterViewModel.NameGenres, CurrentLanguage));
            filterViewModel.PlatformTypes = _mapper.Map <IEnumerable <PlatformType>, IList <PlatformTypeViewModel> >(_platformTypeService.GetAllPlatformTypesAndMarkSelected(filterViewModel.NamePlatformTypes, CurrentLanguage));
            filterViewModel.Publishers    = _mapper.Map <IEnumerable <Publisher>, IList <PublisherViewModel> >(_publisherService.GetAllPublishersAndMarkSelected(filterViewModel.NamePublishers, CurrentLanguage));

            var pageInfo = new PagingInfoViewModel
            {
                CurrentPage  = page,
                ItemsPerPage = size,
                TotalItems   = games.Count
            };

            var result = Serialize(new GamesAndFilterViewModel()
            {
                Filter     = filterViewModel,
                Games      = _mapper.Map <IEnumerable <Game>, IList <GameViewModel> >(games.Games),
                PagingInfo = pageInfo
            },
                                   contentType);

            return(result);
        }