public bool OnGetBalances(AccountInfo account, byte[] data) { string text = UTF8Encoding.Default.GetString(data); JObject root = (JObject)JsonConvert.DeserializeObject(text); if (root.Value <string>("code") != null) { LogManager.Default.Error(this, "error on get balance", text); return(false); } JArray balances = root.Value <JArray>("balances"); if (balances == null) { return(false); } account.Balances.Clear(); foreach (JObject obj in balances) { BinanceAccountBalanceInfo b = new BinanceAccountBalanceInfo(account); b.Currency = obj.Value <string>("asset"); b.Available = obj.Value <double>("free"); b.OnOrders = obj.Value <double>("locked"); account.Balances.Add(b); } return(true); }
public override bool OnGetBalances(AccountInfo account, byte[] data) { string text = UTF8Encoding.Default.GetString(data); object conv = JsonConvert.DeserializeObject(text); JObject root = conv as JObject; if (conv == null) { LogManager.Default.Error(this, "error on get balance", "empty text return"); return(false); } if (root != null && root.Value <string>("code") != null) { LogManager.Default.Error(this, "error on get balance", root.Value <string>("message")); return(false); } JArray balances = conv as JArray; if (balances == null) { return(false); } account.Balances.Clear(); foreach (JObject obj in balances) { BinanceAccountBalanceInfo b = new BinanceAccountBalanceInfo(account); b.Balance = obj.Value <double>("balance"); b.Currency = obj.Value <string>("asset"); b.Available = obj.Value <double>("availableBalance"); b.OnOrders = b.Balance - b.Available; account.Balances.Add(b); } return(true); }