Ejemplo n.º 1
0
        private async Task RemoveItem(IServerSyncProvider provider,
                                      ISyncDataProvider dataProvider,
                                      string serverId,
                                      string itemId,
                                      SyncTarget target,
                                      CancellationToken cancellationToken)
        {
            var localItems = await dataProvider.GetCachedItems(target, serverId, itemId);

            foreach (var localItem in localItems)
            {
                var files = await GetFiles(provider, localItem, target, cancellationToken);

                foreach (var file in files)
                {
                    await provider.DeleteFile(file.Path, target, cancellationToken).ConfigureAwait(false);
                }

                await dataProvider.Delete(target, localItem.Id).ConfigureAwait(false);
            }
        }