Пример #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()));
                }
            }
        }
Пример #3
0
        private static List <FullRgItem> ProcessInventoryPage(InventoryRootModel inventoryRoot)
        {
            var result = new List <FullRgItem>();

            foreach (var item in inventoryRoot.Assets)
            {
                var resultItem  = new FullRgItem();
                var description = InventoryRootModel.GetDescription(item, inventoryRoot.Descriptions);
                resultItem.Asset       = item;
                resultItem.Description = description;
                result.Add(resultItem);
            }

            return(result);
        }
Пример #4
0
        public List <FullRgItem> ProcessInventoryPage(InventoryRootModel inventoryRoot)
        {
            var result = new List <FullRgItem>();

            if (inventoryRoot.Assets == null || inventoryRoot.Descriptions == null)
            {
                return(result);
            }
            var descriptions = inventoryRoot.Descriptions.ToList();

            foreach (var item in inventoryRoot.Assets.ToList())
            {
                var resultItem  = new FullRgItem();
                var description = InventoryRootModel.GetDescription(item, descriptions);
                resultItem.Asset       = item;
                resultItem.Description = description;
                result.Add(resultItem);
            }

            return(result);
        }