Esempio n. 1
0
        public static ValidationResult ValidateWritaPost(WritaPost p, IDataHelper d)
        {
            WritaPostValidator validator = new WritaPostValidator(d, p);
            ValidationResult   results   = validator.Validate(p);

            return(results);
        }
Esempio n. 2
0
        public WritaPost CreatePost(WritaPost p)
        {
            using (var session = docStore.OpenSession())
            {
                p.PostId = System.Guid.NewGuid().ToString();
                if (p.PostCreated == null)
                {
                    p.PostCreated = DateTime.Now;
                }
                if (p.PostLastEdited == null)
                {
                    p.PostLastEdited = DateTime.Now;
                }
                if (p.PostStartDate == null)
                {
                    p.PostStartDate = DateTime.Now;
                }
                p.PostSlug   = p.PostTitle.ToLower().Replace(" ", "-");
                p.PostParent = "";
                session.Store(p);
                session.SaveChanges();

                WritaPostContent c = new WritaPostContent();
                c.PostContentId  = System.Guid.NewGuid().ToString();
                c.PostId         = p.PostId;
                c.PostEditDate   = DateTime.Now;
                c.PostEditAuthor = p.PostAuthor;
                c.PostMarkdown   = p.PostContent;

                session.Store(c);
                session.SaveChanges();
                return(p);
            }
        }
Esempio n. 3
0
 public WritaPost UpdatePost(WritaPost p)
 {
     using (var session = docStore.OpenSession())
     {
         WritaPost pl = session.Load <WritaPost>("writaposts/" + p.PostId);
         //pl.PostAuthor = p.PostAuthor;
         pl.PostContent          = p.PostContent;
         pl.PostLastEdited       = DateTime.Now;
         pl.PostSlug             = p.PostSlug;
         pl.PostStatus           = p.PostStatus;
         pl.PostSummary          = p.PostSummary;
         pl.PostTags             = p.PostTags;
         pl.PostAuthor           = p.PostAuthor;
         pl.PostLastEditedAuthor = p.PostLastEditedAuthor;
         pl.PostThumbnail        = p.PostThumbnail;
         pl.PostTitle            = p.PostTitle;
         pl.PostType             = p.PostType;
         pl.PostParent           = p.PostParent;
         pl.Featured             = p.Featured;
         if (p.PostCreated != pl.PostCreated)
         {
             pl.PostCreated = p.PostCreated;
         }
         session.SaveChanges();
         return(p);
     }
 }
Esempio n. 4
0
        public ActionResult Read(string id)
        {
            bool pagefound = false;

            // for testing what resources are available
            //string[] resourceNames = this.GetType().Assembly.GetManifestResourceNames();
            //foreach (string resourceName in resourceNames)
            //{
            //Response.Write(resourceName);
            //}

            WritaPage p = new WritaPage();

            p.Settings = Writa.Frontend.MvcApplication.GlobalSettings;

            WritaPost pagepost = _dtahelper.GetPostFromSlug(id);


            if (pagepost != null)
            {
                if (pagepost.PostRedirect != null)
                {
                    if (pagepost.PostRedirect.Length > 2)
                    {
                        Response.Redirect("~/" + pagepost.PostRedirect);
                    }
                }

                pagefound         = true;
                p.Post            = pagepost;
                p.PageTitle       = p.Post.PostTitle;
                p.PageDescription = p.Post.PostSummary;

                p.NextPost     = _dtahelper.GetNextPost(pagepost);
                p.PreviousPost = _dtahelper.GetPreviousPost(pagepost);
            }

            if (!pagefound)
            {
                return(HttpNotFound());
            }
            else
            {
                p.BlogSettings = _blogsettings.LoadSettings();

                var updater = new ContainerBuilder();
                updater.RegisterInstance(p).As <IWritaPage>();
                updater.Update(MvcApplication.container);

                if (p.Post.PostType == WritaPostType.BLOGPOST)
                {
                    return(View("Read", "Masterpage", p));
                }
                else
                {
                    return(View("StaticPage", "Masterpage", p));
                }
            }
        }
Esempio n. 5
0
        public WritaPost GetPreviousPost(WritaPost p)
        {
            var x = database.GetCollection <WritaPost>("Posts").AsQueryable().Where(w => w.PostCreated < p.PostCreated && w.PostType == WritaPostType.BLOGPOST && w.PostStatus == WritaPostStatus.PUBLISHED).OrderByDescending(w => w.PostCreated).Take(1).ToList();

            if (x.Count == 1)
            {
                return(x[0]);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 6
0
        public WritaPost GetPreviousPost(WritaPost p)
        {
            var db = new WritaBlogContext();
            var x  = db.WritaPosts.AsQueryable().Where(w => w.PostCreated < p.PostCreated && w.PostType == WritaPostType.BLOGPOST && w.PostStatus == WritaPostStatus.PUBLISHED).OrderByDescending(w => w.PostCreated).Take(1).ToList();

            if (x.Count == 1)
            {
                return(x[0]);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 7
0
 public WritaPost GetPreviousPost(WritaPost p)
 {
     using (var session = docStore.OpenSession())
     {
         var x = session.Query <WritaPost>().Where(w => w.PostCreated < p.PostCreated && w.PostType == WritaPostType.BLOGPOST && w.PostStatus == WritaPostStatus.PUBLISHED).OrderByDescending(w => w.PostCreated).Take(1).ToList();
         if (x.Count == 1)
         {
             return(x[0]);
         }
         else
         {
             return(null);
         }
     }
 }
Esempio n. 8
0
        public string CreatePost(string PostTitle, string PostMarkdown, string poststartdate)
        {
            WritaPost checkexists = _dbhelper.GetPostFromSlug(PostTitle.Replace(" ", "-").ToLower());

            if (checkexists == null)
            {
                WritaUser u = _dbhelper.GetUserById(new WritaUser()
                {
                    Id = User.Identity.Name
                });

                WritaPost post = new WritaPost();
                post.PostAuthorID           = User.Identity.Name;
                post.PostAuthor             = u.UserFullName;
                post.PostLastEditedAuthor   = u.UserFullName;
                post.PostLastEditedAuthorID = User.Identity.Name;
                post.Homepage       = false;
                post.PostSlug       = PostTitle.Replace(" ", "-").ToLower();
                post.PostTitle      = PostTitle;
                post.PostType       = WritaPostType.BLOGPOST;
                post.PostStatus     = WritaPostStatus.DRAFT;
                post.PostContent    = PostMarkdown;
                post.PostThumbnail  = "/content/logo.jpg";
                post.PostCreated    = DateTime.Now;
                post.PostLastEdited = DateTime.Now;

                DateTime dateValue;
                if (DateTime.TryParse(poststartdate, out dateValue))
                {
                    post.PostStartDate = dateValue;
                }
                else
                {
                    post.PostStartDate = DateTime.Now;
                }

                _dbhelper.CreatePost(post);
                RebuildRoutes.Rebuild(true, _dbhelper);

                return("Success");
            }
            else
            {
                return("That post title has been used before, it must be unique.");
            }
        }
Esempio n. 9
0
        public string Post(string PostTitle, string PostMarkdown)
        {
            WritaPost post = new WritaPost();

            post.PostAuthor     = User.Identity.Name;
            post.Homepage       = false;
            post.PostSlug       = PostTitle.Replace(" ", "-").Replace(".", "").ToLower();
            post.PostTitle      = PostTitle;
            post.PostContent    = PostMarkdown;
            post.PostCreated    = DateTime.Now;
            post.PostLastEdited = DateTime.Now;
            post.PostThumbnail  = "/content/logo.jpg";

            _datahelper.CreatePost(post);
            RebuildRoutes.Rebuild(true, _datahelper);
            return("done");
        }
Esempio n. 10
0
        public WritaPost CreatePost(WritaPost p)
        {
            p.PostId         = ObjectId.GenerateNewId().ToString();
            p.PostCreated    = DateTime.Now;
            p.PostLastEdited = DateTime.Now;
            p.PostSlug       = p.PostTitle.ToLower().Replace(" ", "-");
            database.GetCollection <WritaPost>("Posts").Save(p);

            WritaPostContent c = new WritaPostContent();

            c.PostContentId  = ObjectId.GenerateNewId().ToString();
            c.PostId         = p.PostId;
            c.PostEditDate   = DateTime.Now;
            c.PostEditAuthor = p.PostAuthor;
            c.PostMarkdown   = p.PostContent;

            database.GetCollection <WritaPostContent>("Content").Save(c);
            return(p);
        }
Esempio n. 11
0
        public string Updatesettings(WritaPost u)
        {
            ValidationResult results = ValidationHelper.ValidateWritaPost(u, _dbhelper);

            if (results.IsValid)
            {
                WritaUser user = _dbhelper.GetUserById(new WritaUser()
                {
                    Id = User.Identity.Name
                });
                WritaPost x = _dbhelper.GetPostFromId(u.PostId);
                x.PostSlug               = StringTools.ReplaceBadInUrl(u.PostSlug);
                x.PostTitle              = u.PostTitle;
                x.PostRedirect           = u.PostRedirect;
                x.PostType               = u.PostType;
                x.PostStatus             = u.PostStatus;
                x.PostCreated            = u.PostCreated;
                x.PostSummary            = u.PostSummary;
                x.PostThumbnail          = u.PostThumbnail;
                x.PostParent             = u.PostParent;
                x.PostLastEditedAuthorID = User.Identity.Name;
                x.PostLastEditedAuthor   = user.UserFullName;
                x.Featured               = u.Featured;

                _dbhelper.UpdatePost(x);
                RebuildRoutes.Rebuild(true, _dbhelper);
                return("Success - post updated");
            }
            else
            {
                var s = "Error";
                foreach (ValidationFailure f in results.Errors)
                {
                    s += f.ErrorMessage;
                }
                return(s);
            }
        }
Esempio n. 12
0
        public WritaPost CreatePost(WritaPost p)
        {
            using (var db = new WritaBlogContext())
            {
                p.PostId         = System.Guid.NewGuid().ToString();
                p.PostCreated    = DateTime.Now;
                p.PostLastEdited = DateTime.Now;
                p.PostSlug       = p.PostTitle.ToLower().Replace(" ", "-");
                db.WritaPosts.Add(p);
                db.SaveChanges();

                WritaPostContent c = new WritaPostContent();
                c.PostContentId  = System.Guid.NewGuid().ToString();
                c.PostId         = p.PostId;
                c.PostEditDate   = DateTime.Now;
                c.PostEditAuthor = p.PostAuthor;
                c.PostMarkdown   = p.PostContent;

                db.WritaPostContents.Add(c);
                db.SaveChanges();
                return(p);
            }
        }
Esempio n. 13
0
 public void DeletePost(WritaPost p)
 {
     throw new NotImplementedException();
 }
Esempio n. 14
0
 public WritaPost UpdatePost(WritaPost p)
 {
     throw new NotImplementedException();
 }
Esempio n. 15
0
 public WritaPost UpdatePost(WritaPost p)
 {
     database.GetCollection <WritaPost>("Posts").Save(p);
     return(p);
 }