NotifierCore.Notifier.HotItemController.UpdatePricesMultiple C# (CSharp) Méthode

UpdatePricesMultiple() public static méthode

public static UpdatePricesMultiple ( List items ) : void
items List
Résultat void
        public static void UpdatePricesMultiple(List<HotItem> items)
        {
            const int endPointLimit = 200;
            const int maxEntries = 1000;
            //TradingPostApiOfficial.PriceService.Discover();

            var ids = new List<int>();
            var idGroups = new List<List<int>>();

            for (int i = 1; i <= items.Count && i <= maxEntries; i++)
            {
                var item = items[i - 1];
                if (item != null)
                {
                    ids.Add(items[i - 1].DataId);
                    if (i % endPointLimit == 0 || i == items.Count)
                    {
                        idGroups.Add(ids);
                        ids = new List<int>();
                    }
                }
            }

            foreach (var idGroup in idGroups)
            {
                var result = TradingPostApiOfficial.PriceService.FindAll(idGroup);

                foreach (var aggregateListing in result)
                {
                    var item = items.FirstOrDefault(x => x.DataId == aggregateListing.Value.ItemId);
                    if (item != null)
                    {
                        UpdatePrice(aggregateListing.Value, item);
                    }
                }
            }
        }

Usage Example

Exemple #1
0
        public static SearchResult ParseSearchResult(IEnumerable <Item> items)
        {
            var result = new SearchResult();

            result.JsonResultType = JsonResultType.Search;

            result.Items.Clear();
            var hotItems = new List <HotItem>();

            foreach (var itemDetail in items)
            {
                var item = HotItemController.FromDataId(itemDetail.Id);
                if (item != null)
                {
                    hotItems.Add(item);
                }
            }
            HotItemController.UpdatePricesMultiple(hotItems);
            result.Items = hotItems;
            return(result);
        }