public ActionResult Edit(ItemViewModel model) { try { if (ModelState.IsValid) { EditItem(model); return RedirectToAction("Details", "Article", new { id = model.ArticleId }); } } catch (DataException) { ModelState.AddModelError("", Resources.Resources.UnableToSaveChanges); } return View(model); }
private void EditItem(ItemViewModel model) { var article = _unitOfWork.ArticleRepository.GetByID(model.ArticleId); var itemToUpdate = _unitOfWork.ItemRepository.GetByID(model.Id); itemToUpdate.Article = article; itemToUpdate.Title = model.Title; var md = new MarkdownDeep.Markdown { ExtraMode = true }; var html = md.Transform(model.Body); itemToUpdate.Body = html; _unitOfWork.ItemRepository.Update(itemToUpdate); _unitOfWork.Save(); if (Request.Cookies[model.Id.ToString()] != null) { var cookie = Request.Cookies[model.Id.ToString()]; cookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Set(cookie); } DraftService.DeleteDraft(model.Id.ToString()); }
public ActionResult Edit(int id) { var item = _unitOfWork.ItemRepository.GetByID(id); if (item.Article.UserId != WebSecurity.CurrentUserId) return RedirectToAction("Http403", "Error"); var model = new ItemViewModel { Id = item.Id, Title = item.Title, Body = item.Body, ArticleId = item.ArticleId, }; if (Request.Cookies[model.Id.ToString()] != null) { model.Body = DraftService.GetDraft(Request.Cookies[model.Id.ToString()].Value); } else { var cookie = new HttpCookie(model.Id.ToString()) { Value = model.Id.ToString(), Expires = DateTime.Now.AddDays(1) }; Response.Cookies.Add(cookie); } return View(model); }