private IOrderbyClauseBuilder <T> New(Expression <Func <T, object> > member, OrderbyType type) { if (member == null) { throw new ArgumentNullException(nameof(member)); } var mn = _dialectSettings.GetEscapeName(member); var rule = type == OrderbyType.Ascending ? "ASC" : "DESC"; _tuples?.Add(new KeyValuePair <string, string>(mn, rule)); return(this); }
public OrderbyClauseResult ConstructOrderbyClause <TKey, TEntity>(Expression <Func <TEntity, object> > member, OrderbyType orderbyType) where TKey : IEquatable <TKey> where TEntity : class, IEntity <TKey> { return((OrderbyClauseResult)$"{_dialectSettings.GetEscapeName(member)} {(orderbyType == OrderbyType.Ascending ? "ASC" : "DESC")}"); }
public ActionResult QuestionesList(int page = 0, int take = 20, bool?isright = null, OrderbyType type = OrderbyType.Id) { var questions = _questionDbService.GetAllQuestiones(orderby: type, isright: isright); return(PartialView(questions)); }
public IPagedList <Question> GetAllQuestiones(string title = "", int?userid = null, bool?isright = null, OrderbyType orderby = OrderbyType.Id, int pageIndex = 0, int pageSize = 2147483647) { //没有被删除的 没有结束的 合法的 var query = _db.Questions.Where(n => !n.Deleted && !n.IsIllegal && !n.IsFinished && n.ExpireTime > DateTime.Now); if (!string.IsNullOrEmpty(title)) { query = query.Where(n => n.Title.Contains(title)); } if (userid != null) { query = query.Where(n => n.UserId == userid.Value); } if (isright != null) { query = query.Where(n => n.IsAnsweredRight == isright.Value); } query = query.Include(n => n.Commnets).Include(n => n.RewardUsers); switch (orderby) { case OrderbyType.Id: query = query.OrderByDescending(c => c.Id); break; case OrderbyType.Comments: query = query.OrderByDescending(c => c.CommentNum); break; case OrderbyType.Reward: query = query.OrderByDescending(c => c.Reward); break; default: query = query.OrderByDescending(c => c.Id); break; } return(new PagedList <Question>(query, pageIndex, pageSize)); }