Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
            });
        }
Exemplo n.º 3
0
        private void RemoveItem(BindableMediaFileItem item)
        {
            if (_currentPreviewItem == item)
            {
                item.ClosePreview();
                _currentPreviewItem = null;
            }

            _mediaItemCollection.Remove(item);
        }
Exemplo n.º 4
0
 private void DoUpload(BindableMediaFileItem item, IBackgroundWorkContext c)
 {
     this.MediaFileService.UploadFile(item.FilePath, item.FileName, c);
     this.MediaFileService.Add(item.Entity, App.Current.Name);
 }