public ActionResult PutMark(Mark mark) { int filmId = Convert.ToInt32(TempData["FilmId"]); if (filmId != null) { if (ModelState.IsValid) { mark.UserId = GetUserId(); if (repo.Marks.Any(a => a.FilmId == filmId && a.UserId == GetUserId())) { Mark m = repo.Marks.Find(a => a.FilmId == filmId && a.UserId == GetUserId()); m.MarkValue = mark.MarkValue; repo.SaveChanges(); } else { Film film = repo.Films.Find(m => m.Id == filmId); mark.Film = film; repo.AddMark(mark); repo.SaveChanges(); } } } return(RedirectToAction("Details", new { id = filmId })); }