public ActionResult Create([Bind(Include = "Id, Title,Body,Published, MediaUrl")] BlogPost blogPost, HttpPostedFileBase image) { var slug = StringUtilities.MakeSlug(blogPost.Title); if (slug != blogPost.Slug) { if (string.IsNullOrWhiteSpace(slug)) { ModelState.AddModelError("Title", "Invalid Title"); return(View(blogPost)); } if (db.Posts.Any(p => p.Slug == slug)) { ModelState.AddModelError("Title", "The Title Must Be Unique"); return(View(blogPost)); } } if (ModelState.IsValid) { if (ImgUploadValidator.IsWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads"), fileName)); blogPost.MediaUrl = "/Uploads" + fileName; } } if (ModelState.IsValid) { //var slugMaker = new StringUtilities(); //var slug = slugMaker.MakeSlug(blogPost.Title); //class name, property name, give data = slug blogPost.Slug = slug; blogPost.Created = DateTimeOffset.Now; db.Posts.Add(blogPost); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }
public ActionResult Edit([Bind(Include = "Id,Title,Slug,Body,MediaUrl,Published,Created")] BlogPost blogPost, HttpPostedFileBase image) { var newSlug = StringUtilities.MakeSlug(blogPost.Title); if (newSlug != blogPost.Slug) { if (string.IsNullOrWhiteSpace(newSlug)) { ModelState.AddModelError("Title", "Invalid Title"); return(View(blogPost)); } if (db.Posts.Any(p => p.Slug == newSlug)) { ModelState.AddModelError("Title", "The Title Must Be Unique"); return(View(blogPost)); } } if (ModelState.IsValid) { if (ImgUploadValidator.IsWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads"), fileName)); blogPost.MediaUrl = "/Uploads" + fileName; } } if (ModelState.IsValid) { db.Entry(blogPost).State = EntityState.Modified; blogPost.Updated = DateTimeOffset.Now; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }