public async Task <IActionResult> Create([Bind("Id,СтудентId,ЗадачаId")] СтудентЗадача студентЗадача) { if (ModelState.IsValid) { if (_context.СтудентЗадача.Any(e => e.СтудентId == студентЗадача.СтудентId && e.ЗадачаId == студентЗадача.ЗадачаId && e.Id != студентЗадача.Id)) { return(RedirectToAction("ErrorScreen", "Home", new { textOfError = "Даный Студент уже принял к исполнению даную Задачу", controllerName = "СтудентЗадача" })); } var task = _context.Задачи.Find(студентЗадача.ЗадачаId); var script = _context.Сценарии.Find(task.СценарийId); int countActors = script.КВоАктёров; if (_context.СтудентЗадача.Where(f => f.ЗадачаId == студентЗадача.ЗадачаId).Count() >= countActors) { return(RedirectToAction("ErrorScreen", "Home", new { textOfError = "Все роли для этой Задачи уже заняты", controllerName = "СтудентЗадача" })); } if (task.Дата < DateTime.Now) { return(RedirectToAction("ErrorScreen", "Home", new { textOfError = "Вы опоздали, данная задача уже в прошлом", controllerName = "СтудентЗадача" })); } _context.Add(студентЗадача); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ЗадачаId"] = new SelectList(_context.Задачи, "Id", "Место", студентЗадача.ЗадачаId); ViewData["СтудентId"] = new SelectList(_context.Студенты, "Mail", "Mail", студентЗадача.СтудентId); return(View(студентЗадача)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,СтудентId,ЗадачаId")] СтудентЗадача студентЗадача) { if (id != студентЗадача.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(студентЗадача); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!СтудентЗадачаExists(студентЗадача.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ЗадачаId"] = new SelectList(_context.Задачи, "Id", "Место", студентЗадача.ЗадачаId); ViewData["СтудентId"] = new SelectList(_context.Студенты, "Mail", "Mail", студентЗадача.СтудентId); return(View(студентЗадача)); }