private PlaidAPIAccounts ConnectToAccount(BankOfAmericaLoginCredentials creds)
        {
            if (creds.password.Length > 0)
            {
                StringBuilder sb = new StringBuilder(AccountConfiguration.Current.Plaid.BaseURI + "connect");
                sb.Append("?client_id=" + CLIENT_ID);
                sb.Append("&secret=" + SECRET);
                sb.Append("&access_token=" + creds.password);

                return JsonConvert.DeserializeObject<PlaidAPIAccounts>(new StreamReader((WebRequestHelper.GET(sb.ToString(), false)).GetResponseStream()).ReadToEnd());
            }
            else
            {
                //TODO: Finish Setting up account Creation
                PlaidAPIResponse resp = SetUpPlaidAccountConnection("", "", "", "");
                return SubmitPlaidAccountMFA("", resp.access_token);
            }
        }
 private decimal SavingsBalance(BankOfAmericaLoginCredentials creds)
 {
     return GetAccountBalance(from a in ConnectToAccount(creds).accounts
                              where a.type == "depository" & a.meta.name.Contains("Savings")
                              select a);
 }
 private decimal CreditCardBalance(BankOfAmericaLoginCredentials creds)
 {
     return GetAccountBalance(from a in ConnectToAccount(creds).accounts
                               where a.type == "credit"
                               select a);
 }