public override object Display(WidgetDisplayContext widgetDisplayContext) { var widget = widgetDisplayContext.Widget as ProductGalleryWidget; ProductGalleryWidgetViewModel viewModel = new ProductGalleryWidgetViewModel { DetailPageUrl = widget.DetailPageUrl }; var productGallery = _productGalleryService.Get(widget.ProductGalleryId); if (productGallery == null || productGallery.Products.Count() == 0) { viewModel.Products = Enumerable.Empty <ProductEntity>(); } else { var productIds = productGallery.Products.Where(m => m.Product != null && m.Status == (int)RecordStatus.Active) .Select(m => m.Product.ProductID) .ToArray(); viewModel.Products = _productService .Get(m => productIds.Contains(m.ID) && m.IsPublish && m.Status == (int)RecordStatus.Active) .OrderBy(m => Array.IndexOf(productIds, m.ID)) .ToList(); } return(viewModel); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { ArticleTypeWidget currentWidget = widgetDisplayContext.Widget as ArticleTypeWidget; var types = _articleTypeService.Get(m => m.ParentID == currentWidget.ArticleTypeID); var actionContext = widgetDisplayContext.ActionContext; int ac = actionContext.RouteData.GetCategory(); ArticleType articleType = null; if (ac > 0) { articleType = _articleTypeService.Get(ac); } if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && articleType != null) { if (articleType.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{articleType.Url}", true); } } if (articleType != null && articleType.SEOTitle.IsNotNullAndWhiteSpace()) { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.Title = articleType.SEOTitle; layout.Page.MetaKeyWorlds = articleType.SEOKeyWord; layout.Page.MetaDescription = articleType.SEODescription; } } return(new ArticleTypeWidgetViewModel { ArticleTypes = types, ArticleTypeID = ac }); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var viewModel = new ArticleDetailViewModel(); var articleWidget = widgetDisplayContext.Widget as ArticleSpecialDetailWidget; ArticleEntity article = null; int articleId = articleWidget.ArticleId ?? 0; if (articleId > 0) { article = _articleService.Get(articleId); } else if (articleWidget.ArticleName.IsNotNullAndWhiteSpace()) { article = _articleService.GetByUrl(articleWidget.ArticleName); } if (article == null) { widgetDisplayContext.ActionContext.NotFoundResult(); } else { _articleService.IncreaseCount(article); var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.ConfigSEO(article.Title, article.MetaKeyWords, article.MetaDescription); } } viewModel.Current = article; return(viewModel); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var actionContext = widgetDisplayContext.ActionContext; var comments = _commentsService.Get(m => m.PagePath == actionContext.HttpContext.Request.Path.Value && m.Status == (int)RecordStatus.Active); return(comments); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { ProductCategoryWidget currentWidget = widgetDisplayContext.Widget as ProductCategoryWidget; var actionContext = widgetDisplayContext.ActionContext; int cate = actionContext.RouteData.GetCategory(); ProductCategory productCategory = null; if (cate > 0) { productCategory = _productCategoryService.Get(cate); } if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && productCategory != null) { if (productCategory.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{productCategory.Url}", true); } } if (productCategory != null && productCategory.SEOTitle.IsNotNullAndWhiteSpace()) { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.Title = productCategory.SEOTitle; layout.Page.MetaKeyWorlds = productCategory.SEOKeyWord; layout.Page.MetaDescription = productCategory.SEODescription; } } return(widgetDisplayContext.ToWidgetViewModelPart(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate })); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { ProductCategoryWidget currentWidget = widgetDisplayContext.Widget as ProductCategoryWidget; var actionContext = widgetDisplayContext.ActionContext; int cate = actionContext.RouteData.GetCategory(); ProductCategory productCategory = null; if (cate > 0) { productCategory = _productCategoryService.Get(cate); } if (actionContext.RouteData.GetCategoryUrl().IsNullOrEmpty() && productCategory != null) { if (productCategory.Url.IsNotNullAndWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{productCategory.Url}", true); } } if (productCategory != null && productCategory.SEOTitle.IsNotNullAndWhiteSpace()) { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.ConfigSEO(productCategory.SEOTitle, productCategory.SEOKeyWord, productCategory.SEODescription); } } return(new ProductCategoryWidgetViewModel { Categorys = _productCategoryService.Get(m => m.Status == (int)RecordStatus.Active && m.ParentID == currentWidget.ProductCategoryID), CurrentCategory = cate }); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { if (widgetDisplayContext.Model is MessageEntity messageEntity) { return(widgetDisplayContext.ToWidgetViewModelPart(messageEntity)); } return(widgetDisplayContext.ToWidgetViewModelPart(new MessageEntity())); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { if (widgetDisplayContext.FormModel is Form form) { return(form); } form = _formService.Get((widgetDisplayContext.Widget as FormWidget).FormID); return(form); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { if (widgetDisplayContext.Model is Form form) { return(widgetDisplayContext.ToWidgetViewModelPart(form)); } form = _formService.Get((widgetDisplayContext.Widget as FormWidget).FormID); return(widgetDisplayContext.ToWidgetViewModelPart(form)); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { if (widgetDisplayContext.FormModel is MessageEntity messageEntity) { return(messageEntity); } return(new MessageEntity()); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { HtmlContentBuilder htmlContentBuilder = new HtmlContentBuilder(); htmlContentBuilder.AppendHtmlLine("<!-- head:{0} -->".FormatWith(widgetDisplayContext.Widget.ID)); htmlContentBuilder.AppendHtmlLine((widgetDisplayContext.Widget as HeadWidget).Content); htmlContentBuilder.AppendHtmlLine("<!-- end -->"); ApplicationContext.As <CMSApplicationContext>().HeaderPart.Add(htmlContentBuilder); return(base.Display(widgetDisplayContext)); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { List <PageEntity> parentPages = new List <PageEntity>(); var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { GetParentPage(parentPages, layout.Page); } return(parentPages); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { List <PageEntity> ParentPages = new List <PageEntity>(); var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { GetParentPage(ParentPages, layout.Page); } return(widgetDisplayContext.ToWidgetViewModelPart(ParentPages)); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var carouselWidget = widgetDisplayContext.Widget as CarouselWidget; if (carouselWidget.CarouselID.HasValue) { carouselWidget.CarouselItems = _carouselItemService.Get(m => m.CarouselID == carouselWidget.CarouselID); } carouselWidget.CarouselItems = carouselWidget.CarouselItems.Where(m => m.Status == (int)RecordStatus.Active); return(carouselWidget); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var currentWidget = widgetDisplayContext.Widget as ArticleTopWidget; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; var categoryIds = _articleTypeService.Get(m => m.ID == currentWidget.ArticleTypeID || m.ParentID == currentWidget.ArticleTypeID).Select(m => m.ID); viewModel.Articles = _articleService.Get(m => m.IsPublish && categoryIds.Contains(m.ArticleTypeID ?? 0)).OrderByDescending(m => m.PublishDate).Take(currentWidget.Tops ?? 10); return(viewModel); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var currentWidget = widgetDisplayContext.Widget as ArticleListWidget; var categoryEntity = _articleTypeService.Get(currentWidget.ArticleTypeID); var actionContext = widgetDisplayContext.ActionContext; int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20, OrderByDescending = "PublishDate" }; IEnumerable <ArticleEntity> articles; Expression <Func <ArticleEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ArticleTypeID == cate; } else { var ids = _articleTypeService.Get(m => m.ID == currentWidget.ArticleTypeID || m.ParentID == currentWidget.ArticleTypeID).Select(m => m.ID).ToList(); if (ids.Any()) { filter = m => m.IsPublish && ids.Contains(m.ArticleTypeID ?? 0); } else { filter = m => m.IsPublish && m.ArticleTypeID == currentWidget.ArticleTypeID; } } if (currentWidget.IsPageable) { articles = _articleService.Get(filter, pagin); } else { articles = _articleService.Get().Where(filter).OrderByDescending(m => m.PublishDate).ToList(); } return(new ArticleListWidgetViewModel { Articles = articles, Widget = currentWidget, Pagin = pagin, CategoryTitle = categoryEntity == null ? "" : categoryEntity.Title, IsPageable = currentWidget.IsPageable }); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { VideoWidget videoWidget = widgetDisplayContext.Widget as VideoWidget; if (!videoWidget.Height.HasValue) { videoWidget.Height = 400; } if (videoWidget.Code.IsNotNullAndWhiteSpace() && videoWidget.Code.StartsWith("<iframe ", StringComparison.OrdinalIgnoreCase) && videoWidget.Code.IndexOf("style", StringComparison.OrdinalIgnoreCase) < 0) { videoWidget.Code = "<iframe style=\"width:100%;height:100%\" " + videoWidget.Code.Substring(8); } return(videoWidget); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var actionContext = widgetDisplayContext.ActionContext; int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = actionContext.RouteData.GetArticle(articleId) ?? _articleService.Get(articleId); if (viewModel.Current != null) { _articleService.IncreaseCount(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); if (viewModel.Current.Url.IsNotNullAndWhiteSpace() && actionContext.RouteData.GetArticleUrl().IsNullOrWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{viewModel.Current.Url}.html", true); } } } if (viewModel.Current == null && ApplicationContext.IsAuthenticated) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { actionContext.NotFoundResult(); } else { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } } return(viewModel); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { ProductListWidget currentWidget = widgetDisplayContext.Widget as ProductListWidget; IEnumerable <ProductEntity> products = null; var actionContext = widgetDisplayContext.ActionContext; int pageIndex = actionContext.RouteData.GetPage(); int cate = actionContext.RouteData.GetCategory(); var pagin = new Pagination { PageIndex = pageIndex, PageSize = currentWidget.PageSize ?? 20, OrderBy = "OrderIndex", ThenByDescending = "ID" }; Expression <Func <ProductEntity, bool> > filter = null; if (cate != 0) { filter = m => m.IsPublish && m.ProductCategoryID == cate; } else { var ids = _productCategoryService.Get(m => m.ID == currentWidget.ProductCategoryID || m.ParentID == currentWidget.ProductCategoryID).Select(m => m.ID).ToList(); filter = m => m.IsPublish && ids.Contains(m.ProductCategoryID); } if (currentWidget.IsPageable) { products = _productService.Get(filter, pagin); } else { products = _productService.Get().Where(filter).OrderBy(m => m.OrderIndex).ThenByDescending(m => m.ID).ToList(); } return(new ProductListWidgetViewModel { Products = products, Page = pagin, IsPageable = currentWidget.IsPageable, Columns = currentWidget.Columns, DetailPageUrl = currentWidget.DetailPageUrl }); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { var actionContext = widgetDisplayContext.ActionContext; int productId = actionContext.RouteData.GetPost(); ProductEntity product = null; if (productId != 0) { product = actionContext.RouteData.GetProduct(productId) ?? _productService.Get(productId); if (product != null && product.Url.IsNotNullAndWhiteSpace() && actionContext.RouteData.GetProductUrl().IsNullOrWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{product.Url}.html", true); } } if (product == null && ApplicationContext.IsAuthenticated) { product = _productService.Get().OrderByDescending(m => m.ID).FirstOrDefault(); if (product != null) { product = _productService.Get(product.ID); } } if (product == null) { actionContext.NotFoundResult(); } if (product != null) { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { var page = layout.Page; page.MetaDescription = product.SEODescription; page.MetaKeyWorlds = product.SEOKeyWord; page.Title = product.SEOTitle ?? product.Title; } } return(widgetDisplayContext.ToWidgetViewModelPart(product ?? new ProductEntity())); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var widget = widgetDisplayContext.Widget as ArticleGalleryWidget; ArticleGalleryWidgetViewModel viewModel = new ArticleGalleryWidgetViewModel { DetailPageUrl = widget.DetailPageUrl }; var articleGallery = _articleGalleryService.Get(widget.ArticleGalleryId); if (articleGallery == null || articleGallery.Articles.Count() == 0) { viewModel.Articles = Enumerable.Empty <ArticleEntity>(); } else { var articleIds = articleGallery.Articles.Where(m => m.Article != null && m.Status == (int)RecordStatus.Active) .Select(m => m.Article.ArticleID) .ToArray(); viewModel.Articles = _articleService.Get(m => articleIds.Contains(m.ID) && m.IsPublish).OrderBy(m => Array.IndexOf(articleIds, m.ID)).ToList(); } return(viewModel); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { return(_messageService.Get(m => m.Status == (int)RecordStatus.Active)); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var currentWidget = widgetDisplayContext.Widget as NavigationWidget; var actionContext = widgetDisplayContext.ActionContext; var navs = _navigationService.Get() .Where(m => m.Status == (int)RecordStatus.Active).OrderBy(m => m.DisplayOrder).ToList(); string path = null; IUrlHelper urlHelper = null; if (ApplicationContext.As <CMSApplicationContext>().IsDesignMode) { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { path = layout.Page.Url.Replace("~/", "/"); } } else if (actionContext is ActionExecutedContext) { path = (actionContext as ActionExecutedContext).HttpContext.Request.Path.Value.Replace(".html", string.Empty); urlHelper = ((actionContext as ActionExecutedContext).Controller as Controller).Url; } if (urlHelper == null && (actionContext is ActionExecutedContext)) { urlHelper = ((actionContext as ActionExecutedContext).Controller as Controller).Url; } if (path != null) { NavigationEntity current = null; int length = 0; foreach (var navigationEntity in navs) { string url = (navigationEntity.Url ?? "~/").Replace(".html", string.Empty); if (urlHelper != null) { url = urlHelper.Content(url); } else { url = url.Replace("~/", "/"); } if (path.IndexOf(url, StringComparison.OrdinalIgnoreCase) == 0 && length < url.Length) { current = navigationEntity; length = url.Length; } } if (current != null) { current.IsCurrent = true; } } if (currentWidget.RootID.IsNullOrEmpty() || currentWidget.RootID == "root") { currentWidget.RootID = "#"; } return(new NavigationWidgetViewModel(navs, currentWidget)); }
public override WidgetViewModelPart Display(WidgetDisplayContext widgetDisplayContext) { return(widgetDisplayContext.ToWidgetViewModelPart(_messageService.Get(m => m.Status == (int)RecordStatus.Active))); }