private ResolveAllConflicts SyncRemoteChange() { GetRemoteChanges(); var conflicts = new ResolveAllConflicts(); conflicts.AddDeletedEntityChange(LocalEntitiesChangeset); ApplyRemoteChange(conflicts); return(conflicts); }
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); }
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); }
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; } }