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); }