private void OnUploadCompleted(Exception error, bool cancelled, object result) { BindableMediaFileItem item = (BindableMediaFileItem)_worker.State; if (error == null && !cancelled) { _worker.State = null; RemoveItem(item); } else { _worker.State = null; _mediaItemCollection.Remove(item); // 放到尾部。 _mediaItemCollection.Add(item); } if (_mediaItemCollection.Count > 0) { item = _mediaItemCollection[0]; Upload(item); } else { CurrentUploadItem = null; ProgressFeedback.Close(); } }
private void Upload(BindableMediaFileItem item) { //var entity = item.Entity; //var metadata = entity.Metadata; //if (metadata == null) //{ // metadata = new Entities.MediaFileMetadata(); // entity.Metadata = metadata; //} //if (metadata.Icon == null) //{ // var image = item.Image; // if (image == null) // { // image = this.ResolveImage(item); // } // metadata.Icon = GetIcon((BitmapSource)image); //} this.ProgressFeedback.Reset(); CurrentUploadItem = item; _worker.State = item; _worker.Run((c) => { this.DoUpload(item, c); //this.MediaFileService.UploadFile(item.FilePath, item.FileName, c); }); }
private void RemoveItem(BindableMediaFileItem item) { if (_currentPreviewItem == item) { item.ClosePreview(); _currentPreviewItem = null; } _mediaItemCollection.Remove(item); }
private void DoUpload(BindableMediaFileItem item, IBackgroundWorkContext c) { this.MediaFileService.UploadFile(item.FilePath, item.FileName, c); this.MediaFileService.Add(item.Entity, App.Current.Name); }