public virtual async Task <List <Rating> > PrepareRatingsForOneProductAsync(RatingSearchModel searchModel)
        {
            var list = new List <Rating>();

            while (true)
            {
                var res = await _apiServices.GetObjectApi <GetRatingResponseModel>(Common._urlGetRating, searchModel);

                if (res?.data?.ratings == null || searchModel.offset > res.data.item_rating_summary.rcount_with_context)
                {
                    break;
                }
                list.AddRange(res.data.ratings.Where(p => !string.IsNullOrEmpty(p.comment)));
                searchModel.offset += searchModel.limit;
            }
            return(list);
        }
Esempio n. 2
0
        public async Task <IActionResult> CrawledDataRecommendProductAsync()
        {
            var list_product = await _productFactory.PrepareListRecommendProductAsync();

            var list_rating = new List <Rating>();

            if (list_product != null && list_product.Count > 0)
            {
                foreach (var product in list_product)
                {
                    var ratingSearchModel = new RatingSearchModel(product.itemid, product.shopid);
                    var get_list_rating   = await _ratingFactory.PrepareRatingsForOneProductAsync(ratingSearchModel);

                    list_rating.AddRange(get_list_rating);
                }
            }
            return(ShowCrawledData(list_rating));
        }
Esempio n. 3
0
        public async Task <IActionResult> ExportRecommendProduct(string shopeeUrl, int commentStar)
        {
            var list_product = await _productFactory.PrepareListRecommendProductAsync();

            var list_rating = new List <Rating>();

            if (list_product != null && list_product.Count > 0)
            {
                foreach (var product in list_product)
                {
                    var ratingSearchModel = new RatingSearchModel(product.itemid, product.shopid);
                    var get_list_rating   = await _ratingFactory.PrepareRatingsForOneProductAsync(ratingSearchModel);

                    list_rating.AddRange(get_list_rating);
                }
            }
            return(GetRatingsFile(list_rating));
        }