public async Task <QueryResult <Review> > GetReviews(ReviewQuery queryObject) { var result = new QueryResult <Review>(); var query = this.context.Reviews .AsQueryable(); if (!String.IsNullOrEmpty(queryObject.UserId)) { query = query.Where(r => r.UserId == queryObject.UserId); } if (queryObject.ProductId.HasValue) { query = query.Where(r => r.Product.Id == queryObject.ProductId); } var map = new Dictionary <string, Expression <Func <Review, object> > >() { ["rating"] = r => r.Rating, ["product"] = r => r.Product.Name, }; query = query.ApplyOrdering(queryObject, map); result.TotalItems = await query.CountAsync(); query = query.ApplyPaging(queryObject); result.Items = await query.ToListAsync(); return(result); }
public void YelpSelectReviewTest() { var reviewQuery = new ReviewQuery(); var items = reviewQuery.Query(0, 100); OutputWrite($"数量:{items.Count()}"); items.ForEach(e => OutputWrite($"id:{e.Id}, flag: {e.Flag}")); }
public async Task <IActionResult> GetAll(int rid) { await Db.Connection.OpenAsync(); var query = new ReviewQuery(Db); var result = await query.GetAll(rid); return(new OkObjectResult(result)); }
public void TestMethod() { var client = GetClient(); var reviewQuery = new ReviewQuery(); var item = reviewQuery.Query(0, 1).FirstOrDefault(); Assert.NotNull(item); client.Index(item, idx => idx.Index("yelp").Type("review")); }
public async Task <IActionResult> GetOne(int id) { await Db.Connection.OpenAsync(); var query = new ReviewQuery(Db); var result = await query.GetOneReview(id); if (result is null) { return(new NotFoundResult()); } return(new OkObjectResult(result)); }
public ReviewsController(ReviewQuery query, FormatDateService fds) { this.query = query; this.formatDateService = fds; }