public ActionResult DevelopmentToolsCreate(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var contest = _db.Contests.Find(id); if (contest == null) { return(HttpNotFound()); } if (contest.TeacherId != User.Identity.GetUserId() && !User.IsInRole("administrator") && !_db.ContestTeachers.Any(ct => ct.ContestId == contest.Id)) { TempData["Message"] = "Вы не имеете право создавать компиляторы для этого контеста"; return(RedirectToAction("Edit", new { id })); //ViewBag.ErrorMessage = "Вы не имеете право создавать компиляторы для этого контеста"; //return View("Error"); } var model = new ContestsDevelopmentToolsCreateViewModel { ContestId = id }; return(View(model)); }
public async System.Threading.Tasks.Task <ActionResult> DevelopmentToolsCreate(ContestsDevelopmentToolsCreateViewModel model) { if (ModelState.IsValid) { if (await _db.DevelopmentTools.AnyAsync(d => d.ContestId == model.ContestId && d.Name == model.Name)) { ModelState.AddModelError("", "Компилятор в данном контесте с таким именем уже существует"); } else { var developmentTool = new DevelopmentTool { Id = Guid.NewGuid(), ContestId = model.ContestId, Name = model.Name, CompileCommand = model.CompileCommand, CommandArgs = model.CommandArgs }; _db.DevelopmentTools.Add(developmentTool); await _db.SaveChangesAsync(); return(RedirectToAction("Edit", new { id = model.ContestId })); } } return(View(model)); }