Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }