コード例 #1
0
 private void UploadToImpl(Action <byte[], Action <BackendResult <Photo, ResultCode> >, Action <double>, Cancellation> uploadAction, byte[] bytes, Action completionCallback, Action <double> progressCallback)
 {
     this._c             = new Cancellation();
     this.UploadProgress = 0.0;
     uploadAction.Invoke(bytes, (Action <BackendResult <Photo, ResultCode> >)(res =>
     {
         if (res.ResultCode == ResultCode.Succeeded)
         {
             Photo resultData          = res.ResultData;
             this._attachmentId        = OutboundPhotoAttachment.ComposeAttachmentId(resultData.owner_id, resultData.pid, resultData.access_key);
             this._photo               = res.ResultData;
             MemoryStream memoryStream = new MemoryStream(bytes);
             ImageCache.Current.TrySetImageForUri(this._localUri, (Stream)memoryStream);
             memoryStream.Close();
             this.UploadState = OutboundAttachmentUploadState.Completed;
             completionCallback.Invoke();
         }
         else
         {
             Logger.Instance.Info("!!!!!!!!!!!!FAILED TO UPLOAD", new object[0]);
             this.UploadState = OutboundAttachmentUploadState.Failed;
             if (this._retryFlag)
             {
                 this._retryFlag = false;
                 this.Upload(completionCallback, null);
             }
             else
             {
                 completionCallback.Invoke();
             }
         }
     }), (Action <double>)(progress =>
     {
         this.UploadProgress = progress;
         if (progressCallback == null)
         {
             return;
         }
         progressCallback(progress);
     }), this._c);
 }
コード例 #2
0
        public static OutboundPhotoAttachment CreateForChoosingExistingPhoto(Photo photo, long userOrGroupId = 0, bool isGroup = false, PostType postType = PostType.WallPost)
        {
            OutboundPhotoAttachment outboundPhotoAttachment = new OutboundPhotoAttachment();

            outboundPhotoAttachment._userOrGroupId = userOrGroupId;
            outboundPhotoAttachment._isGroup       = isGroup;
            string str = OutboundPhotoAttachment.ComposeAttachmentId(photo.owner_id, photo.pid, photo.access_key);

            outboundPhotoAttachment._attachmentId = str;
            string srcBig = photo.src_big;

            outboundPhotoAttachment._localUri = srcBig;
            int num1 = 3;

            outboundPhotoAttachment.UploadState = (OutboundAttachmentUploadState)num1;
            int num2 = (int)postType;

            outboundPhotoAttachment._postType = (PostType)num2;
            Photo photo1 = photo;

            outboundPhotoAttachment._photo = photo1;
            return(outboundPhotoAttachment);
        }