Пример #1
0
        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));
        }
Пример #2
0
        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));
        }