public ActionResult Edit(int Id, Article newArt) { try { if (ModelState.IsValid) { newArt.date = DateTime.Now; newArt.last = true; newArt.userId = User.Identity.GetUserId(); //sets "last" parameter to false for all other versions var previousVersions = from article in db.Articles where article.title == newArt.title select article; foreach (Article a in previousVersions) { a.last = false; } db.Articles.Add(newArt); db.SaveChanges(); //copy article categories to new version var prevArtCategories = from link in db.ACLinks where link.articleId == Id select link; foreach (LinkAC l in prevArtCategories) { LinkAC newLink = new LinkAC(); newLink.categoryId = l.categoryId; newLink.articleId = newArt.articleId; db.ACLinks.Add(newLink); } db.SaveChanges(); return(RedirectToAction("Index")); } else { Article art = db.Articles.Find(Id); ViewBag.CurrentArticle = art; return(View()); } } catch { return(View()); } }
public ActionResult New(Article art, int[] categoryId) { try { if (ModelState.IsValid) { art.date = DateTime.Now; art.last = true; art.userId = User.Identity.GetUserId(); //sets "last" parameter to false for all other versions var previousVersions = from article in db.Articles where article.title == art.title select article; foreach (Article a in previousVersions) { a.last = false; } db.Articles.Add(art); db.SaveChanges(); //aici articolul obtine un ID foreach (var i in categoryId) { LinkAC l = new LinkAC(); l.categoryId = i; l.articleId = art.articleId; db.ACLinks.Add(l); } db.SaveChanges(); return(RedirectToAction("Index")); } else { var categories = from category in db.Categories select category; ViewBag.Categories = categories; return(View()); } } catch { return(View()); } }