コード例 #1
0
        public AjaxFormResult SaveBonus([BonusTaskBinder(Fetch = true)] BonusTask bonusTask)
        {
            var response = new AjaxFormResult();

            try
            {
                if (ViewData.ModelState.IsValid && bonusTask.IsValid())
                {
                    if (bonusTask.Id == 0)
                    {
                        bonusTask.Game = User.Game;
                        bonusTaskRepository.SaveOrUpdate(bonusTask);

                        response.ExtraParams["newID"] = bonusTask.Id.ToString();
                        response.ExtraParams["name"]  = bonusTask.Name;
                    }
                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                    response.Errors.Add(new FieldError("BonusTask_ID", "The ID field is required"));

                    taskRepository.DbContext.RollbackTransaction();
                }
            }
            catch (Exception e)
            {
                response.Success            = false;
                response.ExtraParams["msg"] = e.ToString();
            }
            return(response);
        }
コード例 #2
0
        public ActionResult Create([BonusTaskBinder(Fetch = false)] BonusTask bonusTask)
        {
            if (ViewData.ModelState.IsValid && bonusTask.IsValid())
            {
                bonusTask.Game = User.Game;
                bonusTaskRepository.SaveOrUpdate(bonusTask);

                TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                    "Бонусное задание успешно создано.";
                return(this.RedirectToAction <GamesController>(c => c.Edit(bonusTask.Game.Id)));
            }

            BonusTaskFormViewModel viewModel = BonusTaskFormViewModel.CreateBonusTaskFormViewModel();

            viewModel.BonusTask = bonusTask;
            return(View(viewModel));
        }
コード例 #3
0
        public ActionResult Edit([BonusTaskBinder(Fetch = true)] BonusTask bonusTask)
        {
            BonusTask bonusTaskToUpdate = bonusTaskRepository.Get(bonusTask.Id);

            TransferFormValuesTo(bonusTaskToUpdate, bonusTask);

            if (ViewData.ModelState.IsValid && bonusTask.IsValid())
            {
                Message = "Бонусное задание успешно изменено.";
                return(this.RedirectToAction <GamesController>(c => c.Edit(bonusTaskToUpdate.Game.Id)));
            }
            else
            {
                bonusTaskRepository.DbContext.RollbackTransaction();

                BonusTaskFormViewModel viewModel = BonusTaskFormViewModel.CreateBonusTaskFormViewModel();
                viewModel.BonusTask = bonusTask;
                return(View(viewModel));
            }
        }