public ActionResult New(BlogEntryViewModel model) { if (ModelState.IsValid) { model.Url = model.Title.Replace(" ", "-"); model.Url = Regex.Replace(model.Url, @"[^\w\-]", ""); model.Url = Regex.Replace(model.Url, @"-{2,}", "-"); BlogEntry existingBlogEntry = blogService.Get(model.Url); if (existingBlogEntry == null) { model.Body = HttpUtility.HtmlEncode(model.Body); BlogEntry newBlogEntry = Mapper.Map<BlogEntryViewModel, BlogEntry>(model); blogService.Save(newBlogEntry); } else { ModelState.AddModelError("duplicateTitle", "This title either already exists or is too similar to one that already exists"); return View(model); } } return RedirectToAction("Article", new { id = model.Url }); }
public ActionResult Edit(BlogEntryViewModel model, string id) { if (ModelState.IsValid) { model.Url = id; model.Body = HttpUtility.HtmlEncode(model.Body); BlogEntry blogEntry = Mapper.Map<BlogEntryViewModel, BlogEntry>(model); blogService.Update(blogEntry); } return RedirectToAction("Article", new { id = id }); }