Exemplo n.º 1
0
        public static async Task <List <Product> > RecommendProductAsync(MyAppUserFriend friend)
        {
            List <Product> recommendedItems      = new List <Product>();
            List <string>  categoryBasedOnGender = WomenCategoies;

            if (friend.Gender == "male")
            {
                categoryBasedOnGender = MenCategoies;
            }

            foreach (var item in categoryBasedOnGender)
            {
                var result = await ShoppingSearchClient.GetProductsAsync(item);

                //Randomly pick an item from the retrieved items
                Random r       = new Random();
                var    product = result.Products[r.Next(result.Products.Count())];
                var    des     = product.Description;
                //Remove html elements from Product Description
                string noHTML = Regex.Replace(product.Description, @"<[^>]+>|&nbsp;", "").Trim();
                product.Description = Regex.Replace(noHTML, @"\s{2,}", " ");
                recommendedItems.Add(product);
            }

            return(recommendedItems);
        }
Exemplo n.º 2
0
        public static async Task <List <RecommendedItem> > RecommendProductAsync(MyAppUserFriend friend)
        {
            List <RecommendedItem> recommendedItem = new List <RecommendedItem>();

            if (friend.Likes != null)
            {
                var friendLikes = friend.Likes.Data;
                var friendLikesFilteredByCategory = friendLikes.Where(like => categoriesToConsider.Contains(like.Category));

                foreach (var item in friendLikesFilteredByCategory.Take(10))
                {
                    var result = await ShoppingSearchClient.GetProductsAsync(item.Name);

                    if (result.items == null)
                    {
                        // skip empty results
                        continue;
                    }
                    var products = result.items.Select(i => i.product).Take(2).Where(p => p != null);
                    foreach (var product in products)
                    {
                        recommendedItem.Add(new RecommendedItem
                        {
                            Product = product,
                            Reason  = "likes " + item.Name
                        });
                    }
                }
            }

            return(recommendedItem);
        }