Ejemplo n.º 1
0
        private static void DeletionsReplication()
        {
            DeleteDatabases();
            StoreObjectsIn(DesktopDatabaseName);
            IObjectContainer desktopDatabase = OpenDatabase(DesktopDatabaseName);
            IObjectContainer mobileDatabase  = OpenDatabase(MobileDatabaseName);

            Replicate(desktopDatabase, mobileDatabase);

            Car carToDelete = desktopDatabase.Query <Car>()[0];

            desktopDatabase.Delete(carToDelete);
            desktopDatabase.Commit();

            PrintCars(mobileDatabase);

            IReplicationProvider dektopReplicationProvider
                = new Db4oEmbeddedReplicationProvider(desktopDatabase);
            IReplicationProvider mobileReplicationProvider
                = new Db4oEmbeddedReplicationProvider(mobileDatabase);

            // #example: Replicate deletions
            IReplicationSession replicationSession
                = Replication.Begin(dektopReplicationProvider, mobileReplicationProvider);

            replicationSession.ReplicateDeletions(typeof(Car));
            replicationSession.Commit();
            // #end example

            PrintCars(mobileDatabase);

            CloseDBs(desktopDatabase, mobileDatabase);
        }
 private bool TryToReplicate(IReplicationSession replication)
 {
     try
     {
         Replicate(replication, AStuff);
         Replicate(replication, BStuff);
         Assert.IsFalse(IsReplicationConflictExceptionExpectedReplicatingModifications());
     }
     catch (ReplicationConflictException)
     {
         Out("Conflict exception during modification replication.");
         Assert.IsTrue(IsReplicationConflictExceptionExpectedReplicatingModifications());
         return(false);
     }
     try
     {
         if (IsDeletionReplicationTriggered())
         {
             replication.ReplicateDeletions(typeof(Replicated));
         }
         Assert.IsFalse(IsReplicationConflictExceptionExpectedReplicatingDeletions());
     }
     catch (ReplicationConflictException)
     {
         Out("Conflict exception during deletion replication.");
         Assert.IsTrue(IsReplicationConflictExceptionExpectedReplicatingDeletions());
         return(false);
     }
     return(true);
 }
		private bool TryToReplicate(IReplicationSession replication)
		{
			try
			{
				Replicate(replication, AStuff);
				Replicate(replication, BStuff);
				Assert.IsFalse(IsReplicationConflictExceptionExpectedReplicatingModifications());
			}
			catch (ReplicationConflictException)
			{
				Out("Conflict exception during modification replication.");
				Assert.IsTrue(IsReplicationConflictExceptionExpectedReplicatingModifications());
				return false;
			}
			try
			{
				if (IsDeletionReplicationTriggered())
				{
					replication.ReplicateDeletions(typeof(Replicated));
				}
				Assert.IsFalse(IsReplicationConflictExceptionExpectedReplicatingDeletions());
			}
			catch (ReplicationConflictException)
			{
				Out("Conflict exception during deletion replication.");
				Assert.IsTrue(IsReplicationConflictExceptionExpectedReplicatingDeletions());
				return false;
			}
			return true;
		}