public List <BankAccount> GetAccounts() { CheckAuth(); using (var banking = new BankingFactory().GetProvider(config)) { var l = Mapper.Map <List <IBankAccount>, List <BankAccount> > (banking.Accounts); return(l); } }
static async Task Main(string[] args) { // Initialize BankingSDK Setup(); // Fetch UserID string userId = GetUserId(); // Initialize Connector IBankingConnector bankConnector = BankingFactory.GetConnector(ConnectorType.BE_BNP); try { // Fetch UserContext string userContext = FetchUserContext(userId); if (userContext == null) { Console.Write("Je suis rentré la"); // No context found, initialize a new one await bankConnector.RegisterUserAsync(userId); Console.Write("Je suis rentré la aussi "); // Assume the user didn't gave access to his accounts yet await RequestAccountsAccessAsync(bankConnector); Console.Write("Je suis rentré laaaaaaaaaaaaaaaaaaaaaaaaaaaa "); } else { // Existing context found // Assume valid account access granted bankConnector.UserContext = userContext; Console.Write("Je suis rentré ici"); } // Fetch account list and display their balances Console.Write("Display"); await DisplayAccountBalancesAsync(bankConnector); } finally { // Always save the user context if (bankConnector.UserContextChanged) { SaveUserContext(userId, bankConnector.UserContext); } } }
public float GetBalance(string accountIdentifier) { CheckAuth(); using (var banking = new BankingFactory().GetProvider(config)) { if (string.IsNullOrEmpty(accountIdentifier)) { accountIdentifier = banking.Accounts.First().AccountIdentifier; } var bAcc = banking.GetAccountByIdentifier(accountIdentifier); var balance = banking.GetBalance(bAcc); return(balance); } }
public List <Transaction> GetTransactionsRange(string accountIdentifier, DateTime start, DateTime end) { CheckAuth(); using (var banking = new BankingFactory().GetProvider(config)) { if (string.IsNullOrEmpty(accountIdentifier)) { accountIdentifier = banking.Accounts.First().AccountIdentifier; } var bAcc = banking.GetAccountByIdentifier(accountIdentifier); var transactions = banking.GetTransactions(bAcc, start, end); return(Mapper.Map <List <ITransaction>, List <Transaction> > (transactions)); } }
public static void Main(string[] args) { // set default options and parameter arguments string configfile = ""; string account = ""; string task = ""; string provider = ""; string gui = ""; bool help = false; bool list = false; bool debug = false; var p = new OptionSet () { { "c=", "configuration file to use. Default is provider.config in assembly directory", v => configfile = v }, { "g=", "gui to use, default is CGui (only for aqbanking)", v=> gui = v }, { "v", "increase verbosity, usefull for debugging", v=> debug = true }, { "p=", "provider to use, default is aqbanking", v => provider = v }, { "a=", "AccountIdentifier/Number to use", v => account = v }, { "t=", "task that should be performed. Can be getbalance or gettransactions", v => task = v }, { "l", "list all available accounts", v => list = v != null }, { "h|?|help", "shows this help", v => help = v != null }, }; try { // readin cmdline options p.Parse (args); if (help) { p.WriteOptionDescriptions (Console.Out); return; } // read in configuration or use default ProviderConfig conf; if (!string.IsNullOrEmpty (configfile)) conf = new ProviderConfig (configfile); else conf = new ProviderConfig (); // setup logging log4net.Appender.ConsoleAppender appender; appender = new log4net.Appender.ConsoleAppender (); appender.Layout = new log4net.Layout.PatternLayout ("%-4timestamp %-5level %logger %M %ndc - %message%newline"); log4net.Config.BasicConfigurator.Configure (appender); if (debug) appender.Threshold = log4net.Core.Level.Debug; else appender.Threshold = log4net.Core.Level.Warn; if (!string.IsNullOrEmpty (gui)) { conf.Settings.Remove ("Gui"); conf.Settings.Add (new KeyValueConfigurationElement ("Gui", gui)); } if (!string.IsNullOrEmpty (provider)) { conf.Settings.Remove ("Provider"); conf.Settings.Add (new KeyValueConfigurationElement ("Provider", provider)); } // init using (var banking = new BankingFactory().GetProvider(conf)) { // output account overview if (list) { foreach (var acc in banking.Accounts) acc.Print (); return; } // account requests (Balance, Transactions) // parameter sanitation IBankAccount b; if (string.IsNullOrEmpty (account)) { b = banking.Accounts.First (); } else b = banking.GetAccountByIdentifier (account); if (string.IsNullOrEmpty (task)) throw new Exception ("Task needed, specify via -t <task>"); switch (task) { case "gettransactions": List<ITransaction > l = banking.GetTransactions (b); foreach (ITransaction t in l) t.Print (); return; case "getbalance": var bal = banking.GetBalance (b); Console.WriteLine (bal); return; } } } catch (Exception e) { Console.WriteLine ("ERROR: " + e.Message); p.WriteOptionDescriptions (Console.Out); //throw e; } return; }
public static void Main(string[] args) { // set default options and parameter arguments string configfile = ""; string account = ""; string task = ""; string provider = ""; string gui = ""; bool help = false; bool list = false; bool debug = false; var p = new OptionSet() { { "c=", "configuration file to use. Default is provider.config in assembly directory", v => configfile = v }, { "g=", "gui to use, default is CGui (only for aqbanking)", v => gui = v }, { "v", "increase verbosity, usefull for debugging", v => debug = true }, { "p=", "provider to use, default is aqbanking", v => provider = v }, { "a=", "AccountIdentifier/Number to use", v => account = v }, { "t=", "task that should be performed. Can be getbalance or gettransactions", v => task = v }, { "l", "list all available accounts", v => list = v != null }, { "h|?|help", "shows this help", v => help = v != null }, }; try { // readin cmdline options p.Parse(args); if (help) { p.WriteOptionDescriptions(Console.Out); return; } // read in configuration or use default ProviderConfig conf; if (!string.IsNullOrEmpty(configfile)) { conf = new ProviderConfig(configfile); } else { conf = new ProviderConfig(); } // setup logging log4net.Appender.ConsoleAppender appender; appender = new log4net.Appender.ConsoleAppender(); appender.Layout = new log4net.Layout.PatternLayout("%-4timestamp %-5level %logger %M %ndc - %message%newline"); log4net.Config.BasicConfigurator.Configure(appender); if (debug) { appender.Threshold = log4net.Core.Level.Debug; } else { appender.Threshold = log4net.Core.Level.Warn; } if (!string.IsNullOrEmpty(gui)) { conf.Settings.Remove("Gui"); conf.Settings.Add(new KeyValueConfigurationElement("Gui", gui)); } if (!string.IsNullOrEmpty(provider)) { conf.Settings.Remove("Provider"); conf.Settings.Add(new KeyValueConfigurationElement("Provider", provider)); } // init using (var banking = new BankingFactory().GetProvider(conf)) { // output account overview if (list) { foreach (var acc in banking.Accounts) { acc.Print(); } return; } // account requests (Balance, Transactions) // parameter sanitation IBankAccount b; if (string.IsNullOrEmpty(account)) { b = banking.Accounts.First(); } else { b = banking.GetAccountByIdentifier(account); } if (string.IsNullOrEmpty(task)) { throw new Exception("Task needed, specify via -t <task>"); } switch (task) { case "gettransactions": List <ITransaction> l = banking.GetTransactions(b); foreach (ITransaction t in l) { t.Print(); } return; case "getbalance": var bal = banking.GetBalance(b); Console.WriteLine(bal); return; } } } catch (Exception e) { Console.WriteLine("ERROR: " + e.Message); p.WriteOptionDescriptions(Console.Out); //throw e; } return; }