/// <summary>
        /// success
        /// </summary>
        /// <param name="resultString"></param>
        public override void RequestComplete(string resultString)
        {
            Photo photo = new Photo();
            try
            {
                photo = (Photo)JsonUtility.DeserializeObj(
                    new MemoryStream(Encoding.UTF8.GetBytes(resultString)), typeof(Photo));
            }
            catch
            {
                NotifyError("encoding error");
                return;
            }

            if (UploadCompleted != null)
            {
                System.Windows.Deployment.Current.Dispatcher.BeginInvoke(delegate()
                {
                    UploadCompleted(this, new UploadPhotoCompletedEventArgs(photo));
                });
            }
        }
 /// <summary>
 /// Creates a new instance of DownloadStringCompletedEventArgs with the specified result data.
 /// </summary>
 /// <param name="result">The data that is downloaded by a DownloadStringAsync method.</param>
 public UploadPhotoCompletedEventArgs(Photo result)
 {
     Result = result;
 }