public static PageVersion AddPage(IScribeDatabase database, string title, string content, User user, ApprovalStatus status, bool published = false, params string[] tags) { var service = new ScribeService(database, null, GetSearchService(), user); var view = service.SavePage(new PageView { ApprovalStatus = status, Title = title, Text = content, Tags = tags }); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } return(database.PageVersions.First(x => x.Id == view.Id)); }
public static PageVersion UpdatePage(IScribeDatabase database, User user, PageView view, Action <PageView> action, ApprovalStatus status = ApprovalStatus.None, bool published = false) { var service = new ScribeService(database, null, GetSearchService(), user); action(view); service.SavePage(view); database.SaveChanges(); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } database.SaveChanges(); return(database.PageVersions.OrderByDescending(x => x.PageId == view.Id).First()); }
public static PageVersion AddPage(IScribeDatabase database, string title, string content, User user, ApprovalStatus status = ApprovalStatus.None, bool published = false, bool homepage = false, params string[] tags) { var service = new ScribeService(database, null, GetSearchService(), user); var view = service.SavePage(new PageView { ApprovalStatus = status, Title = title, Text = content, Tags = tags }); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } if (homepage) { var settings = SiteSettings.Load(database); settings.FrontPagePrivateId = view.Id; settings.FrontPagePublicId = view.Id; settings.Save(); database.SaveChanges(); } return(database.PageVersions.OrderByDescending(x => x.PageId == view.Id).First()); }
public PageView UpdatePage(PageUpdate update) { return(_service.UpdatePage(update)); }