public ActionResult EditFavoriteGames(int?Id) { if (Id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Member m = DB.Members.Find(Id); if (m == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } MemberFavoriteGamesVM mfgvm = new MemberFavoriteGamesVM(); mfgvm.Member = m; foreach (Game g in DB.Games.ToList()) { FavoriteGame fg = new FavoriteGame(); fg.Id = g.Id; fg.isFavorite = m.Games.Contains(g); fg.GameInfo = $"{g.Title} ({g.Studio})"; mfgvm.FavoriteGames.Add(fg); } return(View(mfgvm)); }
public ActionResult EditFavoriteGames(MemberFavoriteGamesVM mfgvm) { if (ModelState.IsValid) { Member m = DB.Members.Find(mfgvm.Member.Id); DB.Entry(m).State = System.Data.Entity.EntityState.Modified; foreach (FavoriteGame fg in mfgvm.FavoriteGames) { Game g = DB.Games.Find(fg.Id); if (fg.isFavorite) { m.Games.Add(g); } else { m.Games.Remove(g); } } DB.SaveChanges(); return(RedirectToAction("Detail", new { Id = m.Id })); } else { return(View(mfgvm)); } }