public virtual async Task WriteLapTimesAsync(EventVehicleLapTimes lapAverages)
        {
            var key = GetKey(lapAverages);

            var content = GetContent(lapAverages);

            var contentType = GetContentType(lapAverages);

            var item = new AwsItem()
            {
                Key         = key,
                Content     = content,
                ContentType = contentType
            };

            await _repository.PutAsync(item);
        }
        //-------------------------------------------------------------------------------
        /// <summary>
        /// Finds similar items from the givin item.
        /// </summary>
        /// <param name="item">item that needs similar products</param>
        /// <param name="similarCat">Match only the same category of the item</param>
        /// <param name="maxGather">Maximum number of similar items to get</param>
        /// <returns>Array containing all quieried and good items</returns>
        private AwsItem [] QuerySimilar(AwsItem item, bool similarCat, int maxGather)
        {
            string         itemId         = "";                   //Item ASIN id from amazon
            AwsItem        queryItem      = new AwsItem();        //Item being looked at
            List <AwsItem> queryItemList  = new List <AwsItem>(); //List of good items
            int            itemsRemaining = maxGather;

            try
            {
                foreach (var n in item.SimilarProducts)
                {
                    if (itemsRemaining <= 0)
                    {
                        break;
                    }

                    itemId = n.ASIN;

                    queryItem = _apiClient.ItemLookupByAsin(itemId);

                    if (similarCat)
                    {
                        if (item.ItemAttributes["ProductGroup"] ==
                            queryItem.ItemAttributes["ProductGroup"])
                        {
                            queryItemList.Add(queryItem);
                            itemsRemaining--;
                        }
                    }
                    else
                    {
                        queryItemList.Add(queryItem);
                        itemsRemaining--;
                    }
                }
            }
            catch (Exception e)
            {
                Thread.Sleep(2000);
                return(queryItemList.ToArray());
            }

            return(queryItemList.ToArray());
        }
Example #3
0
        public AwsItem ToAwsItem()
        {
            var item = new AwsItem
            {
                ASIN             = parser.SelectNodeValue(NodePath.ItemLookupResponse.ASIN),
                DetailPageURL    = parser.SelectNodeValue(NodePath.ItemLookupResponse.DetailPageUrl),
                SalesRank        = XmlHelper.GetInt(parser.SelectNodeValue(NodePath.ItemLookupResponse.SalesRank)),
                ReviewIFrameUrl  = parser.SelectNodeValue(NodePath.ItemLookupResponse.ReviewIFrameUrl),
                Links            = GetLinks(),
                ImageSets        = GetImageSets(),
                ItemAttributes   = GetItemAttributes(),
                Reviews          = GetReviews(),
                SimilarProducts  = GetSimilarProducts(),
                OfferPrice       = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.OfferPrice)),
                ListPrice        = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.ListPrice)),
                LowestOfferPrice = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.LowestOfferPrice))
            };

            return(item);
        }
        public AwsItem ToAwsItem()
        {
            var item = new AwsItem
            {
                ASIN = parser.SelectNodeValue(NodePath.ItemLookupResponse.ASIN),
                DetailPageURL = parser.SelectNodeValue(NodePath.ItemLookupResponse.DetailPageUrl),
                SalesRank = XmlHelper.GetInt(parser.SelectNodeValue(NodePath.ItemLookupResponse.SalesRank)),
                ReviewIFrameUrl = parser.SelectNodeValue(NodePath.ItemLookupResponse.ReviewIFrameUrl),
                Links = GetLinks(),
                ImageSets = GetImageSets(),
                ItemAttributes = GetItemAttributes(),
                Reviews = GetReviews(),
                SimilarProducts = GetSimilarProducts(),
                OfferPrice = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.OfferPrice)),
                ListPrice = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.ListPrice)),
                LowestOfferPrice = XmlHelper.GetDollars(parser.SelectNode(NodePath.ItemLookupResponse.LowestOfferPrice))
            };

            return item;
        }
        private AwsItem ToAwsItem(XmlNode itemNode)
        {
            //AwsXmlParser nodeParser = new AwsXmlParser(node, rootNodeParser.getNameTable(), rootNodeParser.getNamespaceUri());
            var item = new AwsItem
            {
                ASIN = parser.SelectNodeValue(itemNode, NodePath.ItemLookupResponse.ASIN),
                DetailPageURL = parser.SelectNodeValue(itemNode, NodePath.ItemLookupResponse.DetailPageUrl),
                SalesRank = XmlHelper.GetInt(parser.SelectNodeValue(itemNode, NodePath.ItemLookupResponse.SalesRank)),
                ReviewIFrameUrl = parser.SelectNodeValue(itemNode, NodePath.ItemLookupResponse.ReviewIFrameUrl),
                Links = GetLinks(itemNode),
                ImageSets = GetImageSets(itemNode),
                ItemAttributes = GetItemAttributes(itemNode),
                Reviews = GetReviews(itemNode),
                SimilarProducts = GetSimilarProducts(itemNode),
                OfferPrice = XmlHelper.GetDollars(parser.SelectNode(itemNode, NodePath.ItemLookupResponse.OfferPrice)),
                ListPrice = XmlHelper.GetDollars(parser.SelectNode(itemNode, NodePath.ItemLookupResponse.ListPrice)),
                LowestOfferPrice = XmlHelper.GetDollars(parser.SelectNode(itemNode, NodePath.ItemLookupResponse.LowestOfferPrice)),
                Offers = GetOffers(itemNode)
            };

            return item;
        }
Example #6
0
 public AwsItemResponse()
     : base()
 {
     Item = new AwsItem();
 }