//protected override void OnActionExecuting(ActionExecutingContext filterContext) //{ // base.OnBaseActionExecuting(filterContext); //} public override List <ArticleInfoView> GetListEx(Expression <Func <ArticleInfo, bool> > predicate, PageCondition ConPage) { int appId = default(int); int cate = default(int); if (int.TryParse(Request["wechatid"], out appId) && int.TryParse(Request["strSubCate"], out cate)) { predicate = predicate.AndAlso(a => a.AppId == appId && a.CategoryId == cate && a.IsDeleted == false && a.ArticleType == 0 && a.PublishDate != null); if (!string.IsNullOrEmpty(Request["searchword"])) { var searchWord = Request["searchword"]; predicate = predicate.AndAlso(a => a.ArticleTitle.Contains(searchWord) || a.ArticleContent.Contains(searchWord)); } var q = _objService.GetList <ArticleInfoView>(predicate, ConPage); q.ForEach(a => { a.ImageCoverUrl = a.ImageCoverUrl.Replace(".", "_B."); if (a.PublishDate.HasValue) { a.PublishDateFormatString = ((DateTime)a.PublishDate).ToString("yyyy-MM-dd"); } }); return(q.ToList()); } return(null); }
//public override List<ArticleInfoView> GetListEx(Expression<System.Func<ArticleInfo, bool>> predicate, PageCondition ConPage) //{ // string strTitle = Request["txtArticleTitle"]; // //string strNewsCate = AppId.ToString(); // string txtDate = Request["txtDate"]; // string strSubCate = Request["txtSubCate"]; // predicate = predicate.AndAlso(a => a.IsDeleted == false); // if (!string.IsNullOrEmpty(strTitle)) // { // predicate = predicate.AndAlso(a => a.ArticleTitle.Contains(strTitle)); // } // if (!string.IsNullOrEmpty(txtDate)) // { // DateTime dateTime = Convert.ToDateTime(txtDate); // DateTime dateAdd = dateTime.AddDays(1); // predicate = predicate.AndAlso(a => a.PublishDate >= dateTime && a.PublishDate <= dateAdd); // } // if (!string.IsNullOrEmpty(strSubCate)) // { // // ID变更为CategoryCode // //var cateInfo = CommonService.lstCategory.FirstOrDefault(a => a.Id == Convert.ToInt32(strSubCate) // // && a.IsDeleted == false); // //string categoryCode = cateInfo == null ? string.Empty : cateInfo.CategoryCode; // //predicate = predicate.AndAlso(a => a.ArticleCateSub == strSubCate); // predicate = predicate.AndAlso(a => a.CategoryId == Convert.ToInt32(strSubCate)); // } // var codes = (from item in CommonService.GetCategory(false).Where(a => a.IsAdmin.Value ).ToList() select item.CategoryCode).ToList(); // predicate = predicate.AndAlso(a => codes.Contains(a.ArticleCateSub) && !string.IsNullOrEmpty(a.ArticleCateSub)); // ConPage.SortConditions.Add(new SortCondition("CreatedDate", System.ComponentModel.ListSortDirection.Descending)); // var q = _BaseService.GetList<ArticleInfoView>(predicate, ConPage); // // CategoryCode转变换CategoryName // var lstCate = CommonService.GetCategory(false); // q.ForEach(item => // { // Category category = lstCate.Where(x => !string.IsNullOrEmpty(x.CategoryCode) && // x.CategoryCode.Equals(item.ArticleCateSub)).Distinct().FirstOrDefault(); // item.ArticleCateSub = category == null ? string.Empty : category.CategoryName; // var app = // WeChatCommonService.lstSysWeChatConfig.FirstOrDefault( // y => y.WeixinAppId == item.AppId.ToString()); // item.APPName = app == null ? string.Empty : app.AppName; // } // ); // return q; //} //[HttpPost] //[ValidateInput(false)] //public override JsonResult Post(ArticleInfoView objModal, string Id) //{ // var appId = GetAppID(int.Parse(objModal.ArticleCateSub)); // if (appId == null) // { // ModelState.AddModelError("ArticleCateSub", @"The app of under you selected category does not exist!"); // } // else // { // objModal.AppId = appId; // } // return base.Post(objModal, Id); //} public override ActionResult Export() { var req = new GridRequest(Request); var profilePredicate = FilterHelper.GetExpression <ArticleInfo>(req.FilterGroup); string strTitle = Request["txtArticleTitle"]; //string strNewsCate = AppId.ToString(); string txtDate = Request["txtDate"]; string strSubCate = Request["txtSubCate"]; profilePredicate = profilePredicate.AndAlso(a => a.IsDeleted == false); if (!string.IsNullOrEmpty(strTitle)) { profilePredicate = profilePredicate.AndAlso(a => a.ArticleTitle.Contains(strTitle)); } if (!string.IsNullOrEmpty(txtDate)) { DateTime dateTime = Convert.ToDateTime(txtDate); DateTime dateAdd = dateTime.AddDays(1); profilePredicate = profilePredicate.AndAlso(a => a.PublishDate >= dateTime && a.PublishDate <= dateAdd); } if (!string.IsNullOrEmpty(strSubCate)) { // ID变更为CategoryCode //var cateInfo = CommonService.lstCategory.FirstOrDefault(a => a.Id == Convert.ToInt32(strSubCate) // && a.IsDeleted == false); //string categoryCode = cateInfo == null ? string.Empty : cateInfo.CategoryCode; //predicate = predicate.AndAlso(a => a.ArticleCateSub == strSubCate); profilePredicate = profilePredicate.AndAlso(a => a.CategoryId == Convert.ToInt32(strSubCate)); } var ids = (from item in CommonService.GetCategory(false).Where(a => a.IsAdmin.Value).ToList() select item.Id).ToList(); profilePredicate = profilePredicate.AndAlso(a => a.CategoryId != null && ids.Contains(a.CategoryId.Value)); var list = _objService.GetList <ArticleInfoView>(0, profilePredicate, new List <SortCondition>() { new SortCondition("CreatedDate", System.ComponentModel.ListSortDirection.Descending) }); return(exportToCSV(list)); }
private List <ArticleInfoView> GetArticleListPrivate(Expression <Func <ArticleInfo, bool> > predicate, PageCondition ConPage) { // 当前app下的图文: 此条件已经在前台JS中添加都predicate里面了 //predicate = predicate.AndAlso(x => x.AppId == appId); // 只取得发布后的新闻 predicate = predicate.And(x => x.ArticleStatus == ConstData.STATUS_PUBLISH); // 排序 ConPage.SortConditions.Add(new SortCondition("CreatedDate", System.ComponentModel.ListSortDirection.Descending)); // 取得list var list = _articleInfoService.GetList <ArticleInfoView>(predicate, ConPage); // 分类一览 var categoryList = CommonService.GetCategory((AppId)); // 取得分类名 list = ChangeCategoryCodeToCategoryName(list, categoryList); return(list); }
protected List <ArticleInfoView> GetListPrivate(ref Expression <Func <ArticleInfo, bool> > predicate, PageCondition ConPage, string strTitle = "", string strNewsCate = "", string txtDate = "", string strSubCate = "", bool isAdmin = false) { predicate = predicate.AndAlso(a => a.IsDeleted == false); if (!string.IsNullOrEmpty(strTitle)) { predicate = predicate.AndAlso(a => a.ArticleTitle.Contains(strTitle)); } if (!string.IsNullOrEmpty(txtDate)) { DateTime dateTime = Convert.ToDateTime(txtDate); DateTime dateAdd = dateTime.AddDays(1); predicate = predicate.AndAlso(a => a.PublishDate >= dateTime && a.PublishDate <= dateAdd); } if (!string.IsNullOrEmpty(strSubCate)) { // ID变更为CategoryCode var cateInfo = CommonService.lstCategory.FirstOrDefault(a => a.Id == Convert.ToInt32(strSubCate) && a.IsDeleted == false); string categoryCode = cateInfo == null ? string.Empty : cateInfo.CategoryCode; predicate = predicate.AndAlso(a => a.ArticleCateSub == categoryCode); } if (!isAdmin) { var codes = (from item in CommonService.GetCategory(false).Where(a => !a.IsAdmin.Value).ToList() select item.CategoryCode).ToList(); predicate = predicate.AndAlso(a => codes.Contains(a.ArticleCateSub) && !string.IsNullOrEmpty(a.ArticleCateSub)); } //TODO:remove //if (!string.IsNullOrEmpty(strNewsCate)) //{ // int appid = int.Parse(strNewsCate); // predicate = predicate.AndAlso(a => a.AppId == appid); //} //if (!isAdmin) //{ // // 非系统管理员方式,过滤appid,并且isadmin要为false // predicate = predicate.AndAlso(a => a.AppId == AppId); // predicate = predicate.And(a => a.ArticleCateSub == CommonService.lstCategory.FirstOrDefault(b => b.CategoryCode == a.ArticleCateSub && b.IsAdmin == false).CategoryCode); //} //else //{ // // 系统管理员方式,不过滤appid,并且isadmin要为true // predicate = predicate.AndAlso(a => a.ArticleCateSub == CommonService.lstCategory.FirstOrDefault(b => b.CategoryCode == a.ArticleCateSub && b.IsAdmin == true).CategoryCode); //} ConPage.SortConditions.Add(new SortCondition("CreatedDate", System.ComponentModel.ListSortDirection.Descending)); //var q = _BaseService.GetList<ArticleInfoView>(predicate, ConPage); var q = _articleInfoService.GetList <ArticleInfoView>(predicate, ConPage); //TODO: string appId = Request["AppId"]; if (!string.IsNullOrEmpty(appId) && int.TryParse(appId, out AppId)) { // CategoryCode转变换CategoryName var lstCate = CommonService.GetCategory((CategoryType)(AppId)); q = ChangeCategoryCodeToCategoryName(q, lstCate); } return(q); }