Exemple #1
0
        public async void DiscoverActiveUploads()
        {
            lock (_lockObject)
            {
                if (_uploadsAttached)
                {
                    return;
                }
                _uploadsAttached = true;
            }

            IsLoading = true;

            await Task.Run(async() =>
            {
                IReadOnlyList <UploadOperation> uploads = null;

                try { uploads = await BackgroundUploader.GetCurrentUploadsForTransferGroupAsync(_transferGroup); }
                catch (Exception ex)
                {
                    WebErrorStatus error = BackgroundTransferError.GetStatus(ex.HResult);
                    _logService.LogText($"Getting uploads error - {error}\n{ex.ToString()}");
                }

                if (uploads != null && uploads.Count > 0)
                {
                    foreach (var upload in uploads)
                    {
                        var cachedUpload = await _database.GetAsync(upload.Guid);
                        HandleUploadAsync(upload, cachedUpload, false);
                    }
                }
            });

            IsLoading = false;
        }