Ejemplo n.º 1
0
        public async Task StoreAsyncSupportsAmbientTransactionRollback(DatabaseMode mode)
        {
            var slide = new Slide(title: "Store Async supports ambient transactions - rollback");
            await slide
                .Sample(async () =>
                {
                    var database = new Database("StoreAsyncSupportsAmbientTransactionRollback.received.txt", mode);
                    StoringTenSwissGuysInTheDatabase(database);

                    using (var tx = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                    {
                        await database.SaveAsync().ConfigureAwait(false);

                        // Rollback
                    }

                    database.Close();
                });
        }
Ejemplo n.º 2
0
 private static void StoringTenSwissGuysInTheDatabase(Database database)
 {
     for (int i = 0; i < 10; i++)
     {
         database.Store(new Customer {Name = "Daniel" + i});
     }
 }
Ejemplo n.º 3
0
        public async Task StoreAsync(DatabaseMode mode)
        {
            var slide = new Slide(title: "Store Async");
            await slide
                .BulletPoint("OMG! You just rolled your own NoSQL database, right?")

                .Sample(async () =>
                {
                    var database = new Database("StoreAsync.received.txt", mode);
                    StoringTenSwissGuysInTheDatabase(database);

                    try
                    {
                        await database.SaveAsync().ConfigureAwait(false);
                    }
                    finally
                    {
                        database.Close();
                    }
                });
        }