public override WidgetPart Display(WidgetBase widget, ControllerContext controllerContext) { var currentWidget = widget as ArticleTopWidget; var page = new Pagination { PageIndex = 0, PageSize = currentWidget.Tops ?? 20 }; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; var filter = new DataFilter(); filter.Where("IsPublish", OperatorType.Equal, true); filter.OrderBy("CreateDate", OrderType.Descending); var articleTypeService = ServiceLocator.Current.GetInstance <IArticleTypeService>(); var ids = articleTypeService.Get(new DataFilter().Where("ParentID", OperatorType.Equal, currentWidget.ArticleTypeID)).Select(m => m.ID); if (ids.Any()) { filter.Where("ArticleTypeID", OperatorType.In, ids.Concat(new[] { currentWidget.ArticleTypeID })); } else { filter.Where("ArticleTypeID", OperatorType.Equal, currentWidget.ArticleTypeID); } viewModel.Articles = ServiceLocator.Current.GetInstance <IArticleService>().Get(filter, page); return(widget.ToWidgetPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = 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.Any(cate => cate == m.ArticleTypeID)).OrderByDescending(m => m.PublishDate).Take(currentWidget.Tops ?? 10); return(widget.ToWidgetViewModelPart(viewModel)); }
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 WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var currentWidget = widget as ArticleTopWidget; var page = new Pagination { PageIndex = 0, PageSize = currentWidget.Tops ?? 20 }; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; viewModel.Articles = _articleService.Get(m => m.IsPublish && m.ArticleTypeID == currentWidget.ArticleTypeID).OrderByDescending(m => m.PublishDate); return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetPart Display(WidgetBase widget, HttpContextBase httpContext) { var currentWidget = widget as ArticleTopWidget; var page = new Pagination { PageIndex = 0, PageSize = currentWidget.Tops ?? 20 }; var viewModel = new ArticleTopWidgetViewModel { Widget = currentWidget }; var filter = new DataFilter(); filter.Where("IsPublish", OperatorType.Equal, true); filter.OrderBy("PublishDate", OrderType.Descending); viewModel.Articles = new ArticleService().Get(filter.Where("ArticleCategoryID", OperatorType.Equal, currentWidget.ArticleCategoryID), page); return(widget.ToWidgetPart(viewModel)); }