protected override void OrdersUpdated(ItemMarketData imd) { var bestOrder = imd.Orders.Where(x => x.QualityLevel <= Item.QualityLevel) .OrderByDescending(x => x.UnitPriceSilver).FirstOrDefault(); if (bestOrder == null) { Price = 0; return; } Price = bestOrder.UnitPriceSilver; }
public void Save(string id, int townId, bool isFrom, ItemMarketData item) { var ord = new OrdersData { //Id = new OrdersDataId(id, townId, isFrom), Id = $"{id},{townId},{isFrom}", ItemId = id, TownId = townId, IsFrom = isFrom, Orders = item.Orders, UpdateTime = item.UpdateTime, }; lock (_lockObject) { var rowId = new BsonValue(ord.Id); Rep.Upsert(rowId, ord); } }
protected override void OrdersUpdated(ItemMarketData imd) { var bestOrder = imd.Orders.Where(x => x.QualityLevel >= Item.QualityLevel) .OrderBy(x => x.UnitPriceSilver).FirstOrDefault(); if (bestOrder == null) { Price = 0; SetCost(0, 0); return; } Price = bestOrder.UnitPriceSilver; var cost = Price; var count = imd.Orders.Where(x => x.QualityLevel >= Item.QualityLevel && x.UnitPriceSilver == Price) .Select(x => x.Amount).DefaultIfEmpty(0).Sum(); // var count = imd.Orders.OrderBy(x => x.UnitPriceSilver).FirstOrDefault()?.Amount ?? 0; // var cost = imd.BestPrice; SetCost(cost, count); }
protected override void OrdersUpdated(ItemMarketData imd) { var bestOrder = imd.Orders.Where(x => x.QualityLevel <= Item.QualityLevel) .OrderByDescending(x => x.UnitPriceSilver).FirstOrDefault(); if (bestOrder == null) { Price = 0; SetIncome(0, 0); return; } Price = bestOrder.UnitPriceSilver; var income = Price.FastSell(); var count = imd.Orders.Where(x => x.QualityLevel <= Item.QualityLevel && x.UnitPriceSilver == Price) .Select(x => x.Amount).DefaultIfEmpty(0).Sum(); // var count = bestOrder?.Amount ?? 0; // var income = bestOrder?.UnitPriceSilver.FastSell() ?? 0; // var count = imd.Orders.Where(x=>x.QualityLevel <= Item.QualityLevel).OrderByDescending(x => x.UnitPriceSilver).FirstOrDefault()?.Amount ?? 0; // var income = imd.BestPrice.FastSell(); SetIncome(income, count); }