internal void NewBazaar(BazaarPull pull) { foreach (var item in pull.Products) { PriceState(item); } }
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); } }
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; }