public DestroyContentDraftResponse Delete(DestroyContentDraftRequest request) { var version = request.Data != null ? request.Data.Version : 0; draftService.DestroyDraftContent(request.Id, version, securityService.GetCurrentPrincipal()); return new DestroyContentDraftResponse { Data = true }; }
public DestroyContentDraftResponse Delete(DestroyContentDraftRequest request) { var version = request.Data != null ? request.Data.Version : 0; draftService.DestroyDraftContent(request.Id, version, securityService.GetCurrentPrincipal()); return(new DestroyContentDraftResponse { Data = true }); }
public void Should_Destroy_Draft_ByDraftId_Successfully() { RunApiActionInTransaction( (api, session) => { BetterCms.Module.Pages.Models.HtmlContent parent; BetterCms.Module.Pages.Models.HtmlContent draft; CreateContents(session, true, out parent, out draft); var request = new DestroyContentDraftRequest { Id = draft.Id }; var response = api.Pages.Content.Draft.Delete(request); Assert.IsNotNull(request); Assert.IsTrue(response.Data); }); }
public void Should_NotDestroy_Draft_ConcurrentException() { RunApiActionInTransaction( (api, session) => { BetterCms.Module.Pages.Models.HtmlContent parent; BetterCms.Module.Pages.Models.HtmlContent draft; CreateContents(session, true, out parent, out draft); var request = new DestroyContentDraftRequest { Id = parent.Id }; request.Data.Version = 15; var response = api.Pages.Content.Draft.Delete(request); Assert.IsNotNull(request); Assert.IsTrue(response.Data); }); }
public void Should_NotDestroy_Draft_DraftNotFoundException() { RunApiActionInTransaction( (api, session) => { BetterCms.Module.Pages.Models.HtmlContent parent; BetterCms.Module.Pages.Models.HtmlContent draft; CreateContents(session, false, out parent, out draft); var request = new DestroyContentDraftRequest { Id = parent.Id }; var response = api.Pages.Content.Draft.Delete(request); Assert.IsNotNull(request); Assert.IsTrue(response.Data); }); }
public void Should_NotDestroy_Draft_SecondTime_DraftNotFoundException() { RunApiActionInTransaction( (api, session) => { BetterCms.Module.Pages.Models.HtmlContent parent; BetterCms.Module.Pages.Models.HtmlContent draft; CreateContents(session, true, out parent, out draft); var request = new DestroyContentDraftRequest { Id = parent.Id }; var response = api.Pages.Content.Draft.Delete(request); Assert.IsNotNull(request); Assert.IsTrue(response.Data); request = new DestroyContentDraftRequest { Id = parent.Id }; response = api.Pages.Content.Draft.Delete(request); Assert.IsTrue(false, "DraftNotFoundException exception should be thrown"); }); }
public void Synch_Crud_Examples() { using (var api = ApiFactory.Create()) { // Tags: var tag = api.Root.Tag.Get(new GetTagRequest()); api.Root.Tags.Post(tag.ToPostRequest()); api.Root.Tag.Put(tag.ToPutRequest()); api.Root.Tag.Delete(new DeleteTagRequest()); // Categories: var category = api.Root.Category.Get(new GetCategoryRequest()); api.Root.Categories.Post(category.ToPostRequest()); api.Root.Category.Put(category.ToPutRequest()); api.Root.Category.Delete(new DeleteCategoryRequest()); // Layouts: var getLayoutRequest = new GetLayoutRequest(); getLayoutRequest.Data.IncludeOptions = true; getLayoutRequest.Data.IncludeRegions = true; var layout = api.Root.Layout.Get(getLayoutRequest); api.Root.Layouts.Post(layout.ToPostRequest()); api.Root.Layout.Put(layout.ToPutRequest()); api.Root.Layout.Delete(new DeleteLayoutRequest()); // Folders: var folder = api.Media.Folder.Get(new GetFolderRequest()); api.Media.Folders.Post(folder.ToPostRequest()); api.Media.Folder.Put(folder.ToPutRequest()); api.Media.Folder.Delete(new DeleteFolderRequest()); // Images: var image = api.Media.Image.Get(new GetImageRequest()); api.Media.Images.Post(image.ToPostRequest()); api.Media.Image.Put(image.ToPutRequest()); api.Media.Image.Delete(new DeleteImageRequest()); // Files: var file = api.Media.File.Get(new GetFileRequest()); api.Media.Files.Post(file.ToPostRequest()); api.Media.File.Put(file.ToPutRequest()); api.Media.File.Delete(new DeleteFileRequest()); // Languages: var language = api.Root.Language.Get(new GetLanguageRequest()); api.Root.Languages.Post(language.ToPostRequest()); api.Root.Language.Put(language.ToPutRequest()); api.Root.Language.Delete(new DeleteLanguageRequest()); // Redirects: var redirect = api.Pages.Redirect.Get(new GetRedirectRequest()); api.Pages.Redirects.Post(redirect.ToPostRequest()); api.Pages.Redirect.Put(redirect.ToPutRequest()); api.Pages.Redirect.Delete(new DeleteRedirectRequest()); // Server Widget: var getSWRequest = new GetServerControlWidgetRequest(); getSWRequest.Data.IncludeOptions = true; var serverWidget = api.Pages.Widget.ServerControl.Get(getSWRequest); api.Pages.Widget.ServerControl.Post(serverWidget.ToPostRequest()); api.Pages.Widget.ServerControl.Put(serverWidget.ToPutRequest()); api.Pages.Widget.ServerControl.Delete(new DeleteServerControlWidgetRequest()); // Html Widgets: var getHWRequest = new GetHtmlContentWidgetRequest(); getHWRequest.Data.IncludeOptions = true; var htmlWidget = api.Pages.Widget.HtmlContent.Get(getHWRequest); api.Pages.Widget.HtmlContent.Post(htmlWidget.ToPostRequest()); api.Pages.Widget.HtmlContent.Put(htmlWidget.ToPutRequest()); api.Pages.Widget.HtmlContent.Delete(new DeleteHtmlContentWidgetRequest()); // Html Contents: var html = api.Pages.Content.Html.Get(new GetHtmlContentRequest()); // TODO: implement post. api.Pages.Content.Html.Put(html.ToPutRequest()); api.Pages.Content.Html.Delete(new DeleteHtmlContentRequest()); // Pages: var getPageRequest = new GetPagePropertiesRequest(); getPageRequest.Data.IncludeAccessRules = true; getPageRequest.Data.IncludePageOptions = true; getPageRequest.Data.IncludeMetaData = true; getPageRequest.Data.IncludeTags = true; var page = api.Pages.Page.Properties.Get(getPageRequest); api.Pages.Page.Properties.Post(page.ToPostRequest()); api.Pages.Page.Properties.Put(page.ToPutRequest()); api.Pages.Page.Properties.Delete(new DeletePagePropertiesRequest()); // Page Contents: var getPCrequest = new GetPageContentRequest(); getPCrequest.Data.IncludeOptions = true; // Only when options should be retrieved and saved var pageContent = api.Pages.Page.Content.Get(getPCrequest); api.Pages.Page.Content.Put(pageContent.ToPutRequest()); api.Pages.Page.Content.Delete(new DeletePageContentRequest()); // Blog Post: var getBlogRequest = new GetBlogPostPropertiesRequest(); getBlogRequest.Data.IncludeHtmlContent = true; getBlogRequest.Data.IncludeAccessRules = true; getBlogRequest.Data.IncludeMetaData = true; getBlogRequest.Data.IncludeTags = true; var blog = api.Blog.BlogPost.Properties.Get(getBlogRequest); api.Blog.BlogPost.Properties.Post(blog.ToPostRequest()); api.Blog.BlogPost.Properties.Put(blog.ToPutRequest()); api.Blog.BlogPost.Properties.Delete(new DeleteBlogPostPropertiesRequest()); var author = api.Blog.Author.Get(new GetAuthorRequest()); api.Blog.Authors.Post(author.ToPostRequest()); api.Blog.Author.Put(author.ToPutRequest()); api.Blog.Author.Delete(new DeleteAuthorRequest()); var settings = api.Blog.Settings.Get(new GetBlogPostsSettingsRequest()); api.Blog.Settings.Put(settings.ToPutRequest()); // Sitemap: var sitemap = api.Pages.SitemapNew.Get(new GetSitemapRequest()); api.Pages.Sitemaps.Post(sitemap.ToPostRequest()); api.Pages.SitemapNew.Put(sitemap.ToPutRequest()); api.Pages.SitemapNew.Delete(new DeleteSitemapRequest()); // Sitemap nodes: var node = api.Pages.SitemapNew.Node.Get(new GetNodeRequest()); api.Pages.SitemapNew.Nodes.Post(node.ToPostRequest()); api.Pages.SitemapNew.Node.Put(node.ToPutRequest()); api.Pages.SitemapNew.Node.Delete(new DeleteNodeRequest()); // Destroyed draft (should be called on event BetterCms.Events.PageEvents.Instance.ContentDraftDestroyed) var destroyDraftRequest = new DestroyContentDraftRequest(); // destroyDraftRequest.ContentId = contentId; api.Pages.Content.Draft.Delete(destroyDraftRequest); } }