Example #1
0
        public HttpResponseMessage Put(GameAddUpdateViewModel gameAddUpdateViewModel)
        {
            GameLocalizationViewModel englishLocalization = GetLocalization(gameAddUpdateViewModel, "en");

            if (IsLocalizationEmpty(englishLocalization))
            {
                ModelState.AddModelError("LocalizationError", GlobalRes.EnglishLocalizationShouldExist);
            }

            if (ModelState.IsValid)
            {
                CleanEmptyLocalizations(gameAddUpdateViewModel);

                var gameModel = Mapper.Map <GameModel>(gameAddUpdateViewModel);

                if (!_gameService.GameExists(gameModel.Key))
                {
                    _gameService.Add(gameModel);
                }
                else
                {
                    _gameService.Update(gameModel);
                }

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Example #2
0
        private static bool IsLocalizationEmpty(GameLocalizationViewModel gameLocalizationViewModel)
        {
            bool result = gameLocalizationViewModel == null ||
                          String.IsNullOrEmpty(gameLocalizationViewModel.Name) ||
                          String.IsNullOrEmpty(gameLocalizationViewModel.Description);

            return(result);
        }
Example #3
0
        private static GameLocalizationViewModel GetLocalization(GameAddUpdateViewModel gameAddUpdateViewModel, string languageCode)
        {
            if (gameAddUpdateViewModel == null || gameAddUpdateViewModel.GameLocalizations == null)
            {
                return(null);
            }

            GameLocalizationViewModel result = gameAddUpdateViewModel.GameLocalizations
                                               .FirstOrDefault(loc => String.Equals(loc.Language.Code, languageCode, StringComparison.CurrentCultureIgnoreCase));

            return(result);
        }
Example #4
0
        private void AdjustLocalizations(GameAddUpdateViewModel gameAddUpdateViewModel)
        {
            IEnumerable <LanguageModel> languages = _languageService.GetAll();

            gameAddUpdateViewModel.GameLocalizations = gameAddUpdateViewModel.GameLocalizations
                                                       ?? new List <GameLocalizationViewModel>();

            foreach (LanguageModel languageModel in languages)
            {
                if (GetLocalization(gameAddUpdateViewModel, languageModel.Code) == null)
                {
                    var gameLocalization = new GameLocalizationViewModel
                    {
                        LanguageId = languageModel.LanguageId,
                        Language   = Mapper.Map <LanguageViewModel>(languageModel),
                    };

                    gameAddUpdateViewModel.GameLocalizations.Add(gameLocalization);
                }
            }
        }
Example #5
0
        public ActionResult UpdateGame(GameAddUpdateViewModel gameAddUpdateViewModel)
        {
            GameLocalizationViewModel englishLocalization = GetLocalization(gameAddUpdateViewModel, "en");

            if (IsLocalizationEmpty(englishLocalization))
            {
                ModelState.AddModelError("LocalizationError", GlobalRes.EnglishLocalizationShouldExist);
            }

            if (ModelState.IsValid)
            {
                CleanEmptyLocalizations(gameAddUpdateViewModel);

                var gameModel = Mapper.Map <GameModel>(gameAddUpdateViewModel);
                _gameService.Update(gameModel);
                MessageSuccess("The game has been updated successfully!");
                return(RedirectToAction("Get"));
            }

            return(View(gameAddUpdateViewModel));
        }