예제 #1
0
 public ActionResult DeleteConfirmed(int id)
 {
     BlogPost.Models.BlogPost blogPost = db.Posts.Find(id);
     db.Posts.Remove(blogPost);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
예제 #2
0
        public ActionResult Create([Bind(Include = "Id,Title,Body,MediaURL,Published")] BlogPost.Models.BlogPost blogPost, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                var Slug = StringUtilites.URLFriendly(blogPost.Title);
                if (String.IsNullOrWhiteSpace(Slug))
                {
                    ModelState.AddModelError("Title", "Invalid title");
                    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;
                }

                if (db.Posts.Any(p => p.Slug == Slug))
                {
                    ModelState.AddModelError("Title", "The title must be unique");
                    return(View(blogPost));
                }

                blogPost.Slug    = Slug;
                blogPost.Created = DateTimeOffset.Now;
                db.Posts.Add(blogPost);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(blogPost));
        }
예제 #3
0
 // GET: BlogPosts/Details/5
 public ActionResult Details(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     BlogPost.Models.BlogPost blogPost = db.Posts.Find(id);
     if (blogPost == null)
     {
         return(HttpNotFound());
     }
     return(View(blogPost));
 }
예제 #4
0
 // GET: BlogPosts/Details/5
 public ActionResult DetailsSlug(string slug)
 {
     if (slug == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     BlogPost.Models.BlogPost blogPost = db.Posts
                                         .Include(p => p.Comments.Select(t => t.Author))
                                         .Where(p => p.Slug == slug)
                                         .FirstOrDefault(); if (blogPost == null)
     {
         return(HttpNotFound());
     }
     return(View("Details", blogPost));
 }
예제 #5
0
        public ActionResult Edit([Bind(Include = "Id,Title,Body,MediaURL,Published")] BlogPost.Models.BlogPost blogPost, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                db.Entry(blogPost).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }


            if (ImageUploadValidator.IsWebFriendlyImage(image))
            {
                var fileName = Path.GetFileName(image.FileName);
                image.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                blogPost.MediaUrl = "/Uploads/" + fileName;
            }


            return(View(blogPost));
        }