Exemple #1
0
        private ResolveAllConflicts SyncRemoteChange()
        {
            GetRemoteChanges();
            var conflicts = new ResolveAllConflicts();

            conflicts.AddDeletedEntityChange(LocalEntitiesChangeset);
            ApplyRemoteChange(conflicts);
            return(conflicts);
        }
Exemple #2
0
        public void ApplyChanges_RemoteInsertLocalExist_ShouldReturnConflict()
        {
            var entity = Desktop.InsertNewEntity <EntitySync, IEntitySync>();

            var localChange = CreateInsertDataset(entity);

            var conflict = new ResolveAllConflicts();

            ApplyChanges(localChange, conflict);

            Assert.AreEqual(1, conflict.Count);
            AssertEntityAreEqual(Desktop.Repository <EntitySync, IEntitySync>(), entity);
        }
Exemple #3
0
        public void ApplyChanges_RemoteUpdateLocalUpdate_ReturnConflict()
        {
            var entity = Desktop.InsertNewEntity <EntitySync, IEntitySync>();

            MadeChange(entity);
            Desktop.Save <EntitySync, IEntitySync>(entity);
            var beforeSync = Desktop.GetById <EntitySync, IEntitySync>(entity.Id);

            AssertEntityAreEqual(Desktop.Repository <EntitySync, IEntitySync>(), beforeSync);

            MadeChange(entity);
            var localChange = CreateUpdateDataSet(entity);

            var conflict = new ResolveAllConflicts();

            ApplyChanges(localChange, conflict);

            Assert.AreEqual(1, conflict.Count);
            AssertEntityAreEqual(Desktop.Repository <EntitySync, IEntitySync>(), beforeSync);
        }
Exemple #4
0
 private void Work()
 {
     try
     {
         InitSync();
         Conflicts = SyncRemoteChange();
         DetermineTypeOfSync();
         SyncServerChange();
         FinalizeSync();
     }
     catch (Exception ex)
     {
         ErrorOccurs = true;
         Logger.Error(ex);
         StatProvider.SetNewState(SyncStates.InError);
     }
     finally
     {
         IsSyncInProgress = false;
     }
 }