public virtual ActionResult Edit(GameDefinitionEditViewModel viewModel, ApplicationUser currentUser)
 {
     if (ModelState.IsValid)
     {
         viewModel.Name = viewModel.Name.Trim();
         var gameDefinitionUpdateRequest = Mapper.Map <GameDefinitionUpdateRequest>(viewModel);
         _gameDefinitionSaver.UpdateGameDefinition(gameDefinitionUpdateRequest, currentUser);
         return(new RedirectResult(Url.Action(MVC.GamingGroup.ActionNames.Index, MVC.GamingGroup.Name)
                                   + "#" + GamingGroupController.SECTION_ANCHOR_GAMEDEFINITIONS));
     }
     return(View(MVC.GameDefinition.Views.Edit, viewModel));
 }
        public HttpResponseMessage UpdateGameDefinition(UpdateGameDefinitionMessage updateGameDefinitionMessage, int gameDefinitionId, int gamingGroupId)
        {
            if (updateGameDefinitionMessage == null)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "You must pass at least one valid parameter.");
            }

            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                Active = updateGameDefinitionMessage.Active,
                Name = updateGameDefinitionMessage.GameDefinitionName,
                BoardGameGeekGameDefinitionId = updateGameDefinitionMessage.BoardGameGeekGameDefinitionId,
                GameDefinitionId = gameDefinitionId
            };

            _gameDefinitionSaver.UpdateGameDefinition(gameDefinitionUpdateRequest, CurrentUser);

            return Request.CreateResponse(HttpStatusCode.NoContent);
        }