//v1 internal static void CreateAndOpenAccount(string accNo, string accName, AccountType type, Currencies accCurr) { AccountFactoryArgs args = new AccountFactoryArgs() { AccountCurrency = accCurr, AccountNumber = accNo, AccountName = accName, AccountType = type }; Account newAccount = AccountFactory.CreateAccount(args); InMemoryDataStore.Accounts.Add(newAccount); }
/// <summary> /// Creates an Account /// </summary> /// <param name="args">Account Args</param> /// <returns>Account</returns> internal static Account CreateAccount(AccountFactoryArgs args) { Account res = null; switch (args.AccountType) { case AccountType.CustomerAccount: res = new CustomerAccount(args.AccountNumber, args.AccountName, args.AccountCurrency); break; case AccountType.CorporateAccount: res = new CorporateAccount(args.AccountNumber, args.AccountName, args.AccountCurrency); break; case AccountType.SuspenseAccount: res = new SuspenseAccount(args.AccountNumber, args.AccountName, args.AccountCurrency); break; } return(res); }