示例#1
0
        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;
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }