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); }
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)); }
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)); }