private IEnumerable <TMonetaryAggregateShift> LazyLoad(Currency currency)
        {
            using (var sqlConnection = _sqlConnectionProvider.OpenSqlConnection())
                using (var sqlCommand = new SqlCommand(CreateSelectQuery(currency), sqlConnection))
                    using (var reader = sqlCommand.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var monetaryAggregate = CreateEmptyMonetaryAggregate();
                            monetaryAggregate.Nominal  = reader.GetInt32(reader.GetOrdinal("Nominal"));
                            monetaryAggregate.Currency = reader.GetString(reader.GetOrdinal("Currency"));
                            monetaryAggregate.Count    = reader.GetInt32(reader.GetOrdinal("Count"));

                            yield return(monetaryAggregate);
                        }
                    }
        }
 private void Run(string script)
 {
     using (var connection = _sqlConnectionProvider.OpenSqlConnection())
         using (var command = new SqlCommand(script, connection))
         {
             command.ExecuteNonQuery();
         }
 }