public InquiryResult PerformInquiry(Account selectedAccount, Command toPerform, IDataAccessLayer dal, params string[] parameters)
        {
            List<string> responses = new List<string>();
            List<string> followUps = new List<string>();

            switch (toPerform.Inquiry)
            {
                case TransactionTypes.BalanceInquiry:
                    responses.Add(string.Format("Current Balance is:  {0}", selectedAccount.Balance));
                    break;
                case TransactionTypes.Deposit:
                    double depositing = 0d;
                    if (parameters != null && parameters.Count() > 0 && double.TryParse(parameters[0], out depositing))
                    {
                        responses.Add(string.Format("Deposited:  {0}", depositing));
                        selectedAccount.PerformTransaction(new Transaction("Deposited Funds", new Money(depositing, selectedAccount.LocalCurrency), toPerform.Inquiry));
                    }
                    break;
                case TransactionTypes.Withdrawal:
                    double withdrawing = 0d;
                    if (parameters != null && parameters.Count() > 0 && double.TryParse(parameters[0], out withdrawing))
                    {
                        responses.Add(string.Format("Withdrew:  {0}", withdrawing));
                        selectedAccount.PerformTransaction(new Transaction("Withdrew Funds", -new Money(withdrawing, selectedAccount.LocalCurrency), toPerform.Inquiry));
                    }
                    break;
                case TransactionTypes.ChangeCurrency:
                    Currency toSwitch = selectedAccount.LocalCurrency;
                    if (parameters != null && parameters.Count() > 0)
                    {
                        foreach (Currency c in AvailableCurrencies.CurrencyList)
                        {
                            if (c.Name == parameters[0])
                            {
                                toSwitch = c;
                                responses.Add(string.Format("Switching to currency:  {0}", c.Name));
                            }
                        }
                    }
                    selectedAccount.SwitchAccountCurrency(toSwitch);
                    responses.Add(string.Format("Completed currency exchange."));
                    goto case TransactionTypes.BalanceInquiry;
                default:
                    break;
            }

            return new InquiryResult(responses, followUps);
        }