public static Account ReadAccountFromFile(string username, long accountNumber) { initializeCache(); Account account = null; string filename = ConfigurationManager.AppSettings["localCacheDirectory"] + username + "-" + accountNumber.ToString() + ".txt"; if (File.Exists(filename)) { string[] lineArray; string line; using (StreamReader sr = new StreamReader(filename)) { lineArray = sr.ReadLine().Split("|".ToCharArray()); account = new Account(lineArray[3], lineArray[4], lineArray[2], lineArray[1], Convert.ToInt64(lineArray[0])); double currentBalance = Convert.ToDouble(lineArray[5]); List <BankTransaction> btList = new List <BankTransaction>(); BankTransaction bt = null; while ((line = sr.ReadLine()) != null) { lineArray = line.Split("|".ToCharArray()); bt = new BankTransaction(Convert.ToInt32(lineArray[0]) == 0 ? BankTransaction.BankTransactionTypeEnum.Deposit : BankTransaction.BankTransactionTypeEnum.Withdrawal, Convert.ToDouble(lineArray[1]), Convert.ToDouble(lineArray[2])); btList.Add(bt); } account.Balance = currentBalance; account.TransactionHistory = btList; } } AddOrUpdateAccount(account); return(account); }
public double Deposit(double amount) { BankTransaction tran = new BankTransaction(BankTransaction.BankTransactionTypeEnum.Deposit, amount, Balance); TransactionHistory.Add(tran); Balance = tran.NewBalance; Save(); return(tran.NewBalance); }
public double Withdrawal(double amount) { BankTransaction tran = new BankTransaction(BankTransaction.BankTransactionTypeEnum.Withdrawal, amount, Balance); TransactionHistory.Add(tran); Balance = tran.NewBalance; Save(); return(tran.NewBalance); }