public ActionResult Delete(int id) { string resultMessage = "Бонусное задание успешно удалено."; BonusTask bonusTaskToDelete = bonusTaskRepository.Get(id); int gameId = bonusTaskToDelete.Game.Id; if (bonusTaskToDelete != null) { bonusTaskRepository.Delete(bonusTaskToDelete); try { bonusTaskRepository.DbContext.CommitChanges(); } catch { resultMessage = "По ряду причин бонусное задание не может быть удалено. Возможно, оно еще где-то нужно."; bonusTaskRepository.DbContext.RollbackTransaction(); } } else { resultMessage = "Удаляемое бонусное задание не найдено. Возможно, оно уже удалено."; } Message = resultMessage; return(this.RedirectToAction <GamesController>(c => c.Edit(gameId))); }
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); }
private BonusTask CreateBonusTask() { BonusTask bonusTask = CreateTransientBonusTask(); EntityIdSetter.SetIdOf <int>(bonusTask, 1); return(bonusTask); }
public ActionResult Show(int id) { BonusTask bonusTask = bonusTaskRepository.Get(id); this.SetBreadcrumbText(bonusTask.Name); return(View(bonusTask)); }
public void ReportTaskProgress(BonusTaskType type, int amount = 1) { if (CurrentBonusTask == null) { return; } if (CurrentBonusTask.Type != type) { return; } CurrentBonusTask.CurrentCount += amount; if (CurrentBonusTask.CurrentCount >= CurrentBonusTask.MaxCount) { GameManager.Instance.AddToAgility( "Bonus Aufgabe erledigt", CurrentBonusTask.Bonus, GameManager.Instance.player.OverheadPosition); CurrentBonusTask = null; } UpdateBonusTaskText(); }
private void TransferFormValuesTo(BonusTask bonusTaskToUpdate, BonusTask bonusTaskFromForm) { bonusTaskToUpdate.Name = bonusTaskFromForm.Name; bonusTaskToUpdate.TaskText = bonusTaskFromForm.TaskText; bonusTaskToUpdate.StartTime = bonusTaskFromForm.StartTime; bonusTaskToUpdate.FinishTime = bonusTaskFromForm.FinishTime; bonusTaskToUpdate.IsIndividual = bonusTaskFromForm.IsIndividual; }
public AjaxStoreResult GetBonus(int gameId, int bonusId) { BonusTask bonusTask = bonusTaskRepository.Get(bonusId); return(new AjaxStoreResult(new List <BonusTask> { bonusTask }, 1)); }
public void CanEnsureBonusTaskCreationIsValid() { BonusTask bonusTaskFromForm = new BonusTask(); ViewResult result = controller.Create(bonusTaskFromForm).AssertViewRendered(); result.ViewData.Model.ShouldNotBeNull(); result.ViewData.Model.ShouldBeOfType(typeof(BonusTasksController.BonusTaskFormViewModel)); }
public void CanCreateBonusTask() { BonusTask bonusTaskFromForm = CreateTransientBonusTask(); RedirectToRouteResult redirectResult = controller.Create(bonusTaskFromForm) .AssertActionRedirect().ToAction("Edit"); controller.TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()].ToString() .ShouldContain("успешно создано"); }
public void CanUpdateBonusTask() { BonusTask bonusTaskFromForm = CreateTransientBonusTask(); EntityIdSetter.SetIdOf <int>(bonusTaskFromForm, 1); RedirectToRouteResult redirectResult = controller.Edit(bonusTaskFromForm) .AssertActionRedirect().ToAction("Edit"); controller.TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()].ToString() .ShouldContain("успешно изменено"); }
public void CanCompareBonusTasks() { BonusTask instance = new BonusTask(); instance.Name = "New Code"; BonusTask instanceToCompareTo = new BonusTask(); instanceToCompareTo.Name = "New Code"; instance.ShouldEqual(instanceToCompareTo); }
public AjaxStoreResult CreateBonus() { BonusTask task = new BonusTask(); if (User != null) { task.StartTime = User.Game.GameDate.AddMinutes(60); task.FinishTime = User.Game.GameDate.AddMinutes(User.Game.TotalTime); } return(new AjaxStoreResult(new List <BonusTask> { task }, 1)); }
public object BindCooliteModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { NameValueCollection values = controllerContext.HttpContext.Request.Form; fetch = !String.IsNullOrEmpty(values["id"]); BonusTask task = fetch ? taskRepository.Get(Convert.ToInt32(values["BonusTask.Id"])) : new BonusTask(); task.Name = values["BonusTask.Name"]; task.TaskText = values["BonusTask.TaskText"]; task.StartTime = Convert.ToDateTime(values["BonusTask.StartTime"]); task.FinishTime = Convert.ToDateTime(values["BonusTask.FinishTime"]); task.IsIndividual = values["BonusTask.IsIndividual"] != null; return(task); }
public AjaxResult DeleteBonus(int id) { var response = new AjaxResult(); try { BonusTask bonusTask = bonusTaskRepository.Get(id); response.ExtraParamsResponse.Add(new Parameter("id", bonusTask.Id.ToString())); bonusTaskRepository.Delete(bonusTask); } catch (Exception e) { response.ErrorMessage = e.Message; } return(response); }
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)); }
/// <summary> /// Creates a valid, transient BonusTask; typical of something retrieved back from a form submission /// </summary> private BonusTask CreateTransientBonusTask() { BonusTask bonusTask = new BonusTask() { Name = "New Code", TaskText = "Task description", StartTime = DateTime.Parse("01.01.75 0:00:00"), FinishTime = DateTime.Parse("01.01.75 0:00:00"), IsIndividual = false, Game = new Game() { Name = "New game" } }; return(bonusTask); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { NameValueCollection values = controllerContext.HttpContext.Request.Form; if (values.AllKeys.Contains("id")) { return(BindCooliteModel(controllerContext, bindingContext)); } BonusTask task = fetch ? taskRepository.Get(Convert.ToInt32(values["BonusTask.Id"])) : new BonusTask(); task.Name = values["BonusTask.Name"]; task.TaskText = values["BonusTask.TaskText"]; task.StartTime = Convert.ToDateTime(values["BonusTask.StartTime"]); task.FinishTime = Convert.ToDateTime(values["BonusTask.FinishTime"]); task.IsIndividual = Convert.ToBoolean(values["BonusTask.IsIndividual"].Split(new char[] { ',' })[0]); return(task); }
private void Update() { _bonusPullTimer -= Time.deltaTime; if (_bonusPullTimer <= 0 && CurrentBonusTask == null) { if (!BonusTaskProvider.HasTasksQueued()) { return; } CurrentBonusTask = BonusTaskProvider.GetNextBonusTask(); CurrentBonusTask.Start(); UpdateBonusTaskText(); } if (_bonusPullTimer <= 0) { _bonusPullTimer = _bonusPullMaxTime; } }
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)); } }