/// <summary> /// Retrieves the account information /// </summary> /// <param name="callback">Callback executed after the information has been retrieved</param> public void GetAccountInfo(Broker.AccountCallback callback) { Client.DownloadAllAccounts().ContinueWith((accounts) => { if (accounts.IsCompleted && !accounts.IsFaulted) { RobinhoodAccount = accounts.Result[0]; Broker.Account account = new Broker.Account(); account.BuyingPower = RobinhoodAccount.BuyingPower; account.Cash = RobinhoodAccount.Cash; account.CashAvailableForWithdrawal = RobinhoodAccount.Cash - accounts.Result[0].CashHeldForOrders; account.CashHeldForOrders = RobinhoodAccount.CashHeldForOrders; account.UnclearedDeposits = RobinhoodAccount.UnclearedDeposits; account.UnsettledFunds = RobinhoodAccount.UnsettledFunds; Client.DownloadSinglePortfolio(RobinhoodAccount.AccountNumber).ContinueWith((portfolio) => { AccountPortfolio p = portfolio.Result; account.TotalValue = p.Equity; callback(account); }); } else { callback(null); } }); }