Exemplo n.º 1
0
 public static PostForm ToForm(this Post post)
 {
     var result = new PostForm();
     result.Id = post.Id;
     result.Published = post.Published != null && post.Published <= DateTime.UtcNow;
     result.Title = post.Title ?? string.Empty;
     result.Url = post.Url ?? string.Empty;
     result.Tags = string.Join(", ", post.Tags.Select(t => t.Value));
     return result;
 }
Exemplo n.º 2
0
        public JsonResult Update(PostForm form)
        {
            if (ModelState.IsValid)
            {
                blogManager.Update(form);
                if (form.Published)
                    blogManager.Publish(form.Id);

                return JsonNet(new {success = true, published = form.Published});
            }
            return JsonNet(new {success = false});
        }
Exemplo n.º 3
0
        public void Update(PostForm form)
        {
            var existingPost = Match(form.Url);
            if (existingPost != null && existingPost.Id != form.Id)
                throw new ApplicationException("A post with this url already exists");

            var existingPage = contentManager.Page.Match(form.Url);
            if (existingPage != null)
                throw new ApplicationException("A page with this url already exists");

            var post = Load(form.Id);
            post.Title = form.Title;
            post.Url = form.Url == null ? post.Url : form.Url.NormalizeUrl();

            post.Tags.Clear();

            if (!string.IsNullOrWhiteSpace(form.Tags))
            {
                post.Tags.AddRange(
                    form.Tags.Split(',').Where(t => t.Trim() != "").Select(
                        t => new Tag(t.Trim().ToLowerInvariant())));
            }

            post.LastModified = DateTime.UtcNow;

            session.SaveChanges();

            contentManager.Page.ClearOutputCacheDependency(HttpContext.Current);
        }