/// <summary> /// Gets the item with current price. /// </summary> /// <param name="item">The item.</param> /// <returns></returns> public ItemDTO GetGw2AppCurrentPriceForItem(ItemDTO item) { if (item != null) { CommerceDTO priceObj = GetGw2AppCommerceDtoForItem(item); SetValues(item, priceObj); } Log.LogFatal("GetGw2AppItemWithCurrentPrice: Object is null!"); return(item); }
/// <summary> /// Sets the values. /// </summary> /// <param name="item">The item.</param> /// <param name="priceObj">The price object.</param> private void SetValues(ItemDTO item, CommerceDTO priceObj) { if (priceObj != null) { item.BuyQuantity = priceObj.Buys.Quantity; item.BuyUnitPrice = priceObj.Buys.Unit_Price; item.SellQuantity = priceObj.Sells.Quantity; item.SellUnitPrice = priceObj.Sells.Unit_Price; } else { item.BuyQuantity = 0; item.BuyUnitPrice = 0; item.SellQuantity = 0; item.SellUnitPrice = 0; } }
/// <summary> /// Gets the current price for item. /// </summary> /// <param name="item">The item.</param> /// <returns></returns> private CommerceDTO GetGw2AppCommerceDtoForItem(ItemDTO item) { if (item == null) { throw new ArgumentNullException("item"); } CommerceDTO data = null; try { var json = GetGW2AppData("/commerce/prices/" + item.Id); //sample request: https://api.guildwars2.com/v2/commerce/prices/19684 data = ConvertFromJSONToObject <CommerceDTO>(json); } catch (Exception ex) { Log.LogError("Error: GetGw2AppItemCurrentPrice:" + ex.Message); return(null); } return(data); }