Beispiel #1
0
        public static Task <SyncAnchor> ApplyChangesAsync(this ISyncProviderBase provider,
                                                          SyncChangeSet changeSet,
                                                          ConflictResolution updateResultion,
                                                          ConflictResolution deleteResolution)
        {
            Validate.NotNull(provider, nameof(provider));

            return(provider.ApplyChangesAsync(
                       changeSet, new Func <SyncItem, ConflictResolution>((item) =>
            {
                if (item.ChangeType == ChangeType.Update)
                {
                    return updateResultion;
                }
                else if (item.ChangeType == ChangeType.Delete)
                {
                    return deleteResolution;
                }

                return ConflictResolution.Skip;
            })));
        }
Beispiel #2
0
 public static Task <SyncChangeSet> GetChangesAsync(this ISyncProviderBase provider,
                                                    Guid otherStoreId,
                                                    SyncDirection syncDirection         = SyncDirection.UploadAndDownload,
                                                    CancellationToken cancellationToken = default)
 => provider.GetChangesAsync(otherStoreId, null, syncDirection, cancellationToken);
Beispiel #3
0
 public SyncAgent(ISyncProviderBase localSyncProvider, ISyncProviderBase remoteSyncProvider)
 {
     LocalSyncProvider  = localSyncProvider ?? throw new ArgumentNullException(nameof(localSyncProvider));
     RemoteSyncProvider = remoteSyncProvider ?? throw new ArgumentNullException(nameof(remoteSyncProvider));
 }