public GoldReport(IDataSource dataSource) { _dataSource = dataSource ?? throw new ArgumentNullException(nameof(dataSource)); _roster = dataSource.GetRoster(); _tariff = dataSource.GetTariff(); _transactions = dataSource.GetTransactionHistory(); LastUpdated = dataSource.GetLastUpdatedDate(); Received = CurrencyAmount.Zero; Refunded = CurrencyAmount.Zero; SentToBanker = CurrencyAmount.Zero; MailboxFees = CurrencyAmount.Zero; PlayerReports = Enumerable.Empty <PlayerReport>(); _oddTransactions = new List <Transaction>(); _refunds = new List <Transaction>(); }