From 5860170c1fed2342232d7e35015b669e8b8ec471 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 7 Apr 2017 09:57:24 -0400 Subject: Add "edit page" button to wiki --- .../Controllers/WikiControllerController.cs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'Project-Unite/Controllers/WikiControllerController.cs') diff --git a/Project-Unite/Controllers/WikiControllerController.cs b/Project-Unite/Controllers/WikiControllerController.cs index a8e9f26..391c57d 100644 --- a/Project-Unite/Controllers/WikiControllerController.cs +++ b/Project-Unite/Controllers/WikiControllerController.cs @@ -22,6 +22,50 @@ namespace Project_Unite.Controllers return View(model); } + [Authorize] + public ActionResult EditPage(string id) + { + var db = new ApplicationDbContext(); + var model = new AddWikiPageViewModel(); + var wiki = db.WikiPages.FirstOrDefault(x => x.Id == id); + if (wiki == null) + return new HttpStatusCodeResult(404); + model.Content = wiki.Contents; + model.Name = wiki.Name; + model.ParentId = wiki.CategoryId; + model.PageId = id; + return View(model); + } + + [Authorize] + [ValidateAntiForgeryToken] + [HttpPost] + public ActionResult EditPage(AddWikiPageViewModel model) + { + if (!ModelState.IsValid) + return View(model); + var db = new ApplicationDbContext(); + + var wiki = db.WikiPages.FirstOrDefault(x => x.Id == model.PageId); + if (wiki == null) + return new HttpStatusCodeResult(404); + var edit = new ForumPostEdit(); + edit.PreviousState = wiki.Contents; + edit.EditedAt = DateTime.Now; + edit.UserId = User.Identity.GetUserId(); + edit.Id = Guid.NewGuid().ToString(); + edit.Parent = wiki.Id; + + db.ForumPostEdits.Add(edit); + + wiki.Contents = model.Content; + wiki.CategoryId = model.ParentId; + + db.SaveChanges(); + + return RedirectToAction("Index", new { id = model.PageId }); + } + public ActionResult Random() { var db = new ApplicationDbContext(); -- cgit v1.2.3