private static void addBook(BookRepositorySyncableStoreAdapter adapter, string title)
        {
            IBook Book = adapter.BookRepository.GetWriteableBook(null);

            Book.Title = title;
            adapter.BookRepository.SaveBook(Book);
        }
        private static void addPerson(BookRepositorySyncableStoreAdapter adapter, string name)
        {
            IPerson person = adapter.BookRepository.GetWriteablePerson(null);

            person.Name = name;
            adapter.BookRepository.SavePerson(person);
        }
        private BookRepositorySyncableStoreAdapter GetAdapter(string path)
        {
            File.Delete(path);
            var repos   = new BookRepository(path);
            var adapter = new BookRepositorySyncableStoreAdapter(repos);

            return(adapter);
        }
        private void addPersonToBook(BookRepositorySyncableStoreAdapter adapter1, string title, string name)
        {
            IPerson person       = (from p in adapter1.BookRepository.AllPeople where p.Name == name select p).First();
            IBook   book         = (from p in adapter1.BookRepository.AllBooks where p.Title == title select p).First();
            IBook   bookWritable = adapter1.BookRepository.GetWriteableBook(book);

            bookWritable.Authors.Add(person);
            adapter1.BookRepository.SaveBook(bookWritable);
        }
 private void syncAdatapersAssertNoConflicts(BookRepositorySyncableStoreAdapter adapter1, BookRepositorySyncableStoreAdapter adapter2)
 {
     // send any changes in 1 to cloud
     using (var connection = GetServerConnection())
     {
         var session1   = new SyncSession(adapter1, new ClientSyncSessionDbConnectionProdivder(), new DirectSyncTransport(adapter2, connection));
         var conflicts1 = session1.SyncWithRemoteAsync().Result;
         Assert.AreEqual(0, conflicts1.Count());
         session1.Close();
     }
     File.Delete("ServerSession.sqlite");
 }
Пример #6
0
        private async void syncButton_Click(object sender, RoutedEventArgs e)
        {
            syncButton.IsEnabled = false;
            using (var adapter = new BookRepositorySyncableStoreAdapter(_repos))
            {
                var session         = new SyncSession(adapter, new ClientSyncSessionDbConnectionProdivder(), new HttpSyncTransport(new Uri("http://*****:*****@example.com", "monkey"));
                var progressWatcher = new Progress <SyncProgress>(reportProgress);
                await session.SyncWithRemoteAsync(progressWatcher, CancellationToken.None);

                session.Close();
            }
            syncButton.IsEnabled = true;
        }
Пример #7
0
 public PersonSyncableTypeHandler(BookRepositorySyncableStoreAdapter adapter) : base(adapter, ReplicaItemType.Person, "People")
 {
 }
 public SyncableTypeHandlerBase(BookRepositorySyncableStoreAdapter adapter, ReplicaItemType reposItemType, string dbTable)
 {
     this.adapter       = adapter;
     this.reposItemType = reposItemType;
     this.dbTable       = dbTable;
 }
 public BookSyncableTypeHandler(BookRepositorySyncableStoreAdapter adapter)
     : base(adapter, ReplicaItemType.Book, "Books")
 {
 }