Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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);
    }