public interface IAccount
void PayInFunds(decimal amount);
bool WithdrawFunds(decimal amount);
public class CustomerAccount : IAccount
public CustomerAccount(string newName, decimal initialBalance)
balance = initialBalance;
private decimal balance = 0;
public virtual bool WithdrawFunds(decimal amount)
balance = balance - amount;
public void PayInFunds(decimal amount)
balance = balance + amount;
public decimal GetBalance()
public void Save(TextWriter inText)
inText.WriteLine(balance);
public bool Save(string fileName)
StreamWriter writer = null;
writer = new StreamWriter(fileName);
Console.WriteLine("Account Save Unsuccessful");
Console.WriteLine("Account Saved");
public CustomerAccount Load(TextReader reader)
CustomerAccount result = null;
nameText = reader.ReadLine();
balanceText = reader.ReadLine();
decimal balance = decimal.Parse(balanceText);
result = new CustomerAccount(nameText, balance);
Console.WriteLine("Account Loaded: " + nameText + ", $" + balanceText);
public void Load(string fileName)
StreamReader writer = new StreamReader(fileName);
public static void Main()
CustomerAccount account1 = new CustomerAccount("Federick", 1250);
account1.Save("outputFile.txt");
account1.Load("outputFile.txt");