public ActionResult Edit([Bind(Include = "Id,Title,Slug,Body,MediaUrl,Published")] BlogPost blogPost, HttpPostedFileBase image) { if (ModelState.IsValid) { var blog = db.Posts.Where(p => p.Id == blogPost.Id).FirstOrDefault(); blog.Body = blogPost.Body; blog.MediaUrl = blogPost.MediaUrl; blog.Published = blogPost.Published; blog.Slug = blogPost.Slug; blog.Title = blogPost.Title; blog.Updated = DateTime.Now; if (ImageUploadValidator.IsWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName)); blogPost.MediaUrl = "/Uploads/" + fileName; } db.Posts.Add(blogPost); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }
public ActionResult Create([Bind(Include = "Id,Title,Body,MediaUrl,Published")] BlogPost blogPost, HttpPostedFileBase image) { if (ModelState.IsValid) { blogPost.Slug = StringUtilities.URLFriendly(blogPost.Title); if (db.Posts.Any(p => p.Slug == blogPost.Slug)) { ModelState.AddModelError(nameof(BlogPost.Title), "This slug already exist"); return(View(blogPost)); } if (ImageUploadValidator.IsWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName)); blogPost.MediaUrl = "/Uploads/" + fileName; } db.Posts.Add(blogPost); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }
public ActionResult Create([Bind(Include = "Id,Title,Body,MediaURL,Published")] BlogPost blogPost, HttpPostedFileBase image) { if (ModelState.IsValid) { var Slug = StringUtilities.URLFriendly(blogPost.Title); 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 (ImageUploadValidator.IsWebFriendlyImage(image)) { var fileName = Path.GetFileName(image.FileName); image.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName)); blogPost.MediaURL = "/Uploads/" + fileName; } blogPost.Slug = Slug; blogPost.Created = DateTimeOffset.Now; db.Posts.Add(blogPost); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(blogPost)); }