public async Task <List <ItemModel> > AddItemsListAsync(string inventoryType, Item[] items, MemberModel member, ItemsManifestService manifest, APIAccessor accessor) { var itemList = new List <ItemModel>(); foreach (var item in items) { try { ItemManifestModel info = manifest.GetManifestItemData(item); BucketModel type = info != null?manifest.GetManifestBucketData(info, item) : null; PrimaryStat instance = item.ItemInstanceId != null && type != null ? await GetInstanceAsync(item, member, accessor) : null; //DamageModel damage = new DamageModel(); //if (info != null && type.DisplayProperties.Name == "Energy Weapons") //{ // damage = manifest.GetDamageTypeData(info); //} //DamageModel damage = info != null && type.DisplayProperties.Name == "Energy Weapons" ? manifest.GetDamageTypeData(info) : null; if (info != null && type != null) { itemList.Add(AddModelItem(inventoryType, item, type, info, instance)); } } catch (Exception e) { } } return(itemList); }
//public DamageModel GetDamageTypeData(ItemManifestModel info) //{ // if (info.DamageTypeHashes[0] != 0) // { // var id = info.DamageTypeHashes[0]; // var damageType = access.GetDamageDefTable(id.ToString()); // var json = JsonConvert.DeserializeObject<DamageModel>(damageType.Json); // return json; // } // return null; //} public BucketModel GetManifestBucketData(ItemManifestModel info, Item item) { int id; if (info == null) { id = unchecked ((int)item.BucketHash); } else { id = unchecked ((int)info.Inventory.BucketTypeHash); } var bucketData = access.GetBucketDefTable(id.ToString()); var data = bucketData.Json; if (data != null) { return(BucketData(data)); } return(null); }
public ItemModel AddModelItem(string inventoryType, Item item, BucketModel type, ItemManifestModel info, PrimaryStat instancePath) { ItemModel Item = new ItemModel { ItemHashId = item.ItemHash, BucketHash = item.BucketHash, BucketType = type.DisplayProperties.Name, ItemDesc = info.DisplayProperties.Description, ItemIcon = "https://www.bungie.net" + info.DisplayProperties.Icon, ItemName = info.DisplayProperties.Name, ItemType = info.ItemTypeDisplayName, IconWM = "https://www.bungie.net", TierType = info.Inventory.TierTypeName, ScreenShot = "https://www.bungie.net" + info.Screenshot, InventoryType = inventoryType }; //Item.DamageType = damage != null ? "https://www.bungie.net" + damage.DisplayProperties.Icon : ""; Item.IconWM += info.IconWatermark == null ? info.IconWatermarkShelved : info.IconWatermark; Item.ItemLight = instancePath != null && instancePath.Value > 200 ? instancePath.Value.ToString() : ""; Item.ItemInstance = item.ItemInstanceId != null?Convert.ToInt64(item.ItemInstanceId) : 0; return(Item); }