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())); } } }
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); }
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); }