示例#1
0
        public ActionResult GetPublishInfoForGrid(PublishConditon publishConditon)
        {
            var dict = PublishUtils.GetPublishInfoForGrid(this.dbContext, publishConditon);
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(dict, new CustomNullableDateTimeConverter());

            return(Content(json));
        }
示例#2
0
        public static Dictionary <string, object> GetPublishInfoForGrid(EFDbContext dbContext, PublishConditon conditon)
        {
            var cdt = conditon;

            var query = (from p in dbContext.PublishedDetail
                         where
                         p.IsValid == 1 &&
                         p.PublishTime >= cdt.beginDate && p.PublishTime <= cdt.endDate &&
                         (string.IsNullOrEmpty(cdt.keyWord) ? true : (p.Title.Contains(cdt.keyWord) || p.Content.Contains(cdt.keyWord))) &&
                         cdt.status.Contains(p.Status) &&
                         cdt.urgencey.Contains(p.Urgency) &&
                         cdt.catagory.Contains(p.Catagory) &&
                         (cdt.isExpire ? p.ExpirationTime < DateTime.Now : true) &&//过期
                         (cdt.hasFeedback ? dbContext.Feedback.Where(f => f.PB_ID == p.ID).Count() > 0 : true)
                         select p
                         );

            List <PublishedDetail> list = query.OrderByDescending(p => p.PublishTime).Skip((cdt.page - 1) * cdt.rows).Take(cdt.rows).ToList();
            var dict = new Dictionary <string, object>();

            dict["rows"]  = list;
            dict["total"] = query.Count();
            return(dict);
        }