public async Task <ActionResult> Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var team = await _db.Teams.FindAsync(id); if (team == null) { return(HttpNotFound()); } if (!User.IsInRole("administrator")) { TempData["Message"] = "Вы не имеете право редактировать эту команду"; return(RedirectToAction("Edit", new { id })); //ViewBag.ErrorMessage = "Вы не имеете право редактировать эту команду"; //return View("Error"); } var model = new TeamsEditViewModel { TeamId = team.Id, Name = team.Name, MaxTeamNumber = team.MaxTeamNumber }; return(View(model)); }
public ActionResult Edit(TeamsEditViewModel viewModel) { ValidateTeam(viewModel.Team); if (ModelState.IsValid) { var team = viewModel.Team; _teamsRepository.Update(team); TempData["Message"] = "Your team was successfully updated!"; return(RedirectToAction("Detail", new { id = team.Id })); } viewModel.Init(Repository, _eventsRepository, _teamMembersRepository); return(View(viewModel)); }
public async Task <ActionResult> Edit(TeamsEditViewModel model) { if (ModelState.IsValid) { var currentTeam = _db.Teams.Find(model.TeamId); if (currentTeam == null) { return(HttpNotFound()); } if ((await _db.Teams.AnyAsync(t => t.Name == model.Name) || model.Name == "") && model.MaxTeamNumber == currentTeam.MaxTeamNumber) { ModelState.AddModelError("", "Команда с таким названием уже существует или не задано название команды"); } else if (model.Name != "Одиночки" && currentTeam.Name == "Одиночки") { ModelState.AddModelError("", "Нельзя изменить название у команды 'Одиночки'"); } else { if (model.MaxTeamNumber < currentTeam.Participants.Count) { ModelState.AddModelError("", "Максимальное количество участников в команде меньше, чем текущее количество участников. Пожалуйста, сначала сократите текущее количество участников в команде."); } else { var team = _db.Teams.Find(model.TeamId); if (team == null) { return(HttpNotFound()); } team.Name = model.Name; team.MaxTeamNumber = model.MaxTeamNumber; _db.Entry(team).State = EntityState.Modified; await _db.SaveChangesAsync(); return(RedirectToAction("Index")); } } } return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var team = _teamsRepository.Get((int)id, includeRelatedEntities: false); if (team == null) { return(HttpNotFound()); } var viewModel = new TeamsEditViewModel() { Team = team }; viewModel.Init(Repository, _eventsRepository, _teamMembersRepository); return(View(viewModel)); }