public GetHtmlContentWidgetResponse Get(GetHtmlContentWidgetRequest request) { var model = repository .AsQueryable<Module.Pages.Models.HtmlContentWidget>(widget => widget.Id == request.WidgetId) .Select(widget => new HtmlContentWidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.Status == ContentStatus.Published ? widget.PublishedOn : null, PublishedByUser = widget.Status == ContentStatus.Published ? widget.PublishedByUser : null, CategoryId = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Id : (Guid?)null, CategoryName = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Name : null, CustomCss = widget.CustomCss, UseCustomCss = widget.UseCustomCss, Html = widget.Html, UseHtml = widget.UseHtml, CustomJavaScript = widget.CustomJs, UseCustomJavaScript = widget.UseCustomJs }) .FirstOne(); return new GetHtmlContentWidgetResponse { Data = model }; }
public GetHtmlContentWidgetResponse Get(GetHtmlContentWidgetRequest request) { var model = repository .AsQueryable<Module.Pages.Models.HtmlContentWidget>(widget => widget.Id == request.WidgetId) .Select(widget => new HtmlContentWidgetModel { Id = widget.Id, Version = widget.Version, CreatedBy = widget.CreatedByUser, CreatedOn = widget.CreatedOn, LastModifiedBy = widget.ModifiedByUser, LastModifiedOn = widget.ModifiedOn, Name = widget.Name, IsPublished = widget.Status == ContentStatus.Published, PublishedOn = widget.Status == ContentStatus.Published ? widget.PublishedOn : null, PublishedByUser = widget.Status == ContentStatus.Published ? widget.PublishedByUser : null, CustomCss = widget.CustomCss, UseCustomCss = widget.UseCustomCss, Html = widget.Html, UseHtml = widget.UseHtml, CustomJavaScript = widget.CustomJs, UseCustomJavaScript = widget.UseCustomJs }) .FirstOne(); var response = new GetHtmlContentWidgetResponse { Data = model }; if (request.Data.IncludeOptions) { response.Options = WidgetOptionsHelper.GetWidgetOptionsList(repository, request.WidgetId); } if (request.Data.IncludeChildContentsOptions) { response.ChildContentsOptionValues = optionService .GetChildContentsOptionValues(request.WidgetId) .ToServiceModel(); } if (request.Data.IncludeCategories) { response.Categories = (from pagePr in repository.AsQueryable<Module.Root.Models.Widget>() from category in pagePr.Categories where pagePr.Id == request.WidgetId && !category.IsDeleted select new CategoryModel { Id = category.Category.Id, Version = category.Version, CreatedBy = category.CreatedByUser, CreatedOn = category.CreatedOn, LastModifiedBy = category.ModifiedByUser, LastModifiedOn = category.ModifiedOn, Name = category.Category.Name }).ToList(); } return response; }
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); } }
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); } }