public ActionResult Edit([Bind(Include = "Id,Title,Slug,Abstract,Body,MediaUrl,Published")] BlogPost blogPost, HttpPostedFileBase image) { if (ModelState.IsValid) { #region Image if (ImageUploadValidator.isWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName)); blogPost.MediaUrl = "/Uploads/" + fileName; } #endregion #region Slug var slug = StringUtilities.UrlFriendly(blogPost.Title); if (blogPost.Slug != slug) { if (string.IsNullOrWhiteSpace(slug)) { ModelState.AddModelError("Title", "Invalid title"); return(View(blogPost)); } if (db.BlogPosts.Any(p => p.Slug == slug)) { ModelState.AddModelError("Title", "The title must be unique"); return(View(blogPost)); } blogPost.Slug = slug; } #endregion blogPost.Updated = DateTimeOffset.Now; db.Entry(blogPost).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }