コード例 #1
0
 internal void NewBazaar(BazaarPull pull)
 {
     foreach (var item in pull.Products)
     {
         PriceState(item);
     }
 }
コード例 #2
0
ファイル: ItemPrices.cs プロジェクト: Ekwav/HypixelSkyblock
        public async Task AddBazaarData(BazaarPull pull)
        {
            TimeSpan aDay, oneHour;
            DateTime lastHour, startYesterday;

            ComputeTimes(out aDay, out oneHour, out lastHour, out startYesterday);
            foreach (var item in pull.Products)
            {
                var id = ItemDetails.Instance.GetOrCreateItemByTag(item.ProductId);
                //await CacheService.Instance.ModifyInRedis(GetIntraHourKey(id),)
                var res = await GetHourlyLookup(id);

                if (res == null)
                {
                    res = new ItemLookup();
                }
                res.AddNew(item, pull.Timestamp);
                await CacheService.Instance.SaveInRedis(GetIntraHourKey(id), res);
                await DropYesterDay(aDay, oneHour, lastHour, startYesterday, id, res);
            }

            if (BazzarItem.Count() == 0)
            {
                BazzarItem = pull.Products.ToDictionary(p => ItemDetails.Instance.GetOrCreateItemByTag(p.ProductId), p => true);
            }
        }
コード例 #3
0
ファイル: Product.cs プロジェクト: Ekwav/HypixelSkyblock
 public ProductInfo(Product value, BazaarPull pull)
 {
     this.ProductId   = value.ProductId;
     this.BuySummery  = value.BuySummary.Select(s => new BuyOrder(s)).ToList();
     this.SellSummary = value.SellSummary.Select(s => new SellOrder(s)).ToList();
     this.QuickStatus = new QuickStatus(value.QuickStatus);
     // overwrite price with real orders
     this.QuickStatus.SellPrice = SellSummary.Select(o => o.PricePerUnit).FirstOrDefault();
     this.QuickStatus.BuyPrice  = BuySummery.Select(o => o.PricePerUnit).FirstOrDefault();
     this.PullInstance          = pull;
 }