コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: NestTest.cs プロジェクト: supernebula/evol-core
        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}"));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
ファイル: NestTest.cs プロジェクト: supernebula/evol-core
        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"));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
 public ReviewsController(ReviewQuery query, FormatDateService fds)
 {
     this.query             = query;
     this.formatDateService = fds;
 }