/// <summary>
        /// GetTransfers returns a list of TransferListObjects where the user account matches either
        /// the account to or account from on the transfers table in db
        /// </summary>
        public List <TransferListObject> GetTransfers(int userId)
        {
            List <TransferListObject> transfers = new List <TransferListObject>();

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    string     sqlQuery = "SELECT t.transfer_id, t.account_to, t.amount FROM users u JOIN accounts a ON u.user_id = a.user_id JOIN transfers t ON a.account_id = t.account_from WHERE u.user_id = @userid";
                    SqlCommand cmd      = new SqlCommand(sqlQuery, conn);
                    cmd.Parameters.AddWithValue("@userid", userId);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        TransferListObject t      = GetTLOTFromReader(reader);
                        string             toName = GetUsernameForAccount(t.AccountId);
                        t.ToFromUser = $"To: {toName}";
                        transfers.Add(t);
                    }
                }
            }
            catch (SqlException)
            {
                throw;
            }

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    string     sqlQuery = "SELECT t.transfer_id, t.account_from, t.amount FROM users u JOIN accounts a ON u.user_id = a.user_id JOIN transfers t ON a.account_id = t.account_to WHERE u.user_id = @userid";
                    SqlCommand cmd      = new SqlCommand(sqlQuery, conn);
                    cmd.Parameters.AddWithValue("@userid", userId);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        TransferListObject t        = GetTLOFFromReader(reader);
                        string             fromName = GetUsernameForAccount(t.AccountId);
                        t.ToFromUser = $"From: {fromName}";
                        transfers.Add(t);
                    }
                }
            }
            catch (SqlException)
            {
                throw;
            }

            return(transfers);
        }
        /// <summary>
        /// GetTLOFFromReader is a helper method to create a TransferListObject from SQL data
        /// TLOF - TransferListObject From
        /// </summary>
        private TransferListObject GetTLOFFromReader(SqlDataReader reader)
        {
            TransferListObject t = new TransferListObject()
            {
                TransferId = Convert.ToInt32(reader["transfer_id"]),
                AccountId  = Convert.ToInt32(reader["account_from"]),
                Amount     = Convert.ToDecimal(reader["amount"]),
            };

            return(t);
        }