public ActionResult Edit(PosterCreate posterEditView) { if (ModelState.IsValid) { Poster posterNew = posterEditView.Poster; int posterID = posterEditView.Poster.PosterID; var PostersCategoriesList = _context.PostersCategories.Where(cc => cc.PosterID == posterID).ToList(); foreach (var PosterCategory in PostersCategoriesList) { _context.PostersCategories.Remove(PosterCategory); _context.SaveChanges(); _context.Categories.Where(x => x.CategoryID == PosterCategory.CategoryID) .FirstOrDefault().PostersCategories.Remove(PosterCategory); } posterNew.PostersCategories = new List <PosterCategory>(); foreach (var categoryID in posterEditView.CategoriesID) { PosterCategory pc = new PosterCategory { CategoryID = categoryID, PosterID = posterID }; _context.PostersCategories.Add(pc); _context.SaveChanges(); posterNew.PostersCategories.Add(pc); _context.Categories.Where(x => x.CategoryID == categoryID).FirstOrDefault().PostersCategories.Add(pc); } _context.Entry(posterNew).State = EntityState.Modified; _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(posterEditView)); }
public ActionResult Create(PosterCreate posterCreate) { if (ModelState.IsValid) { string UserID = HttpContext.User.Identity.GetUserId(); Poster posterNew = new Poster { AddingDate = DateTime.Now, Title = posterCreate.Poster.Title, Price = posterCreate.Poster.Price, Views = 0, IsActive = posterCreate.Poster.IsActive, IsValuable = posterCreate.Poster.IsValuable, Content = posterCreate.Poster.Content, References = posterCreate.Poster.References, OwnerID = UserID }; _context.Posters.Add(posterNew); _context.SaveChanges(); UserPoster up = new UserPoster { ApplicationUserID = UserID, PosterID = posterNew.PosterID }; _context.UsersPosters.Add(up); _context.SaveChanges(); _context.Users.Where(x => x.Id == UserID).FirstOrDefault().UserPoster.Add(up); foreach (int categoryID in posterCreate.CategoriesID) { PosterCategory pc = new PosterCategory { CategoryID = categoryID, PosterID = posterNew.PosterID }; _context.PostersCategories.Add(pc); _context.SaveChanges(); posterNew.PostersCategories.Add(pc); _context.Categories.Where(x => x.CategoryID == categoryID).FirstOrDefault().PostersCategories.Add(pc); } _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(posterCreate)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PosterCreate poster = new PosterCreate() { Poster = _context.Posters.Find(id) }; if (poster == null) { return(HttpNotFound()); } var categories = _context.Categories.Select(c => new { CategoryID = c.CategoryID, CategoryName = c.Name }).ToList(); List <int> categoriesSelected = poster.Poster.PostersCategories.Select(c => c.CategoryID).ToList(); ViewBag.Categories = new MultiSelectList(categories, "CategoryID", "CategoryName", selectedValues: categoriesSelected); return(View(poster)); }