コード例 #1
0
ファイル: TestHelper.cs プロジェクト: rodrigosoreis/Scribe
        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));
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        public PageView SavePage(PageView view)
        {
            var response = _service.SavePage(view);

            _notificationHub.PageAvailableForEdit(response.Id);
            return(response);
        }
コード例 #4
0
        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());
        }