示例#1
0
        public void ProcessInventoryPage(
            ICollection <GemsBreakerSteamItems> processedItems,
            InventoryRootModel inventoryPage,
            Inventory inventory)
        {
            var items = inventory.ProcessInventoryPage(inventoryPage).ToArray();

            var groupedItems = items.GroupBy(
                x => new
            {
                x.Description.MarketHashName,
                x.Description.IsTradable,
                x.Description.IsMarketable,
                x.Asset.Amount
            }).ToArray();

            foreach (var group in groupedItems)
            {
                var existModel = processedItems.FirstOrDefault(
                    item => item.ItemModel.Description.MarketHashName == group.Key.MarketHashName &&
                    item.ItemModel.Description.IsTradable == group.Key.IsTradable &&
                    item.ItemModel.Asset.Amount == group.Key.Amount);

                if (existModel != null)
                {
                    existModel.ItemsList.AddRangeDispatch(group);
                    existModel.RefreshCount();
                }
                else
                {
                    processedItems.AddDispatch(new GemsBreakerSteamItems(group.ToArray()));
                }
            }
        }
        public void ProcessInventoryPage(
            ICollection <MarketSellModel> processedItems,
            InventoryRootModel inventoryPage,
            Inventory inventory)
        {
            var items = inventory.ProcessInventoryPage(inventoryPage).ToArray();

            items = inventory.FilterInventory(items, true, false);

            var groupedItems = items.GroupBy(i => new { i.Description.MarketHashName, i.Asset.Amount }).ToArray();

            foreach (var group in groupedItems)
            {
                var existModel = processedItems.FirstOrDefault(
                    item => item.ItemModel.Description.MarketHashName == group.Key.MarketHashName &&
                    item.ItemModel.Asset.Amount == group.Key.Amount);

                if (existModel != null)
                {
                    foreach (var groupItem in group.ToArray())
                    {
                        existModel.ItemsList.Add(groupItem);
                    }

                    existModel.RefreshCount();
                }
                else
                {
                    processedItems.AddDispatch(new MarketSellModel(group.ToArray()));
                }
            }
        }