Exemple #1
0
        /// <summary>
        /// アップロードステータス変更イベント
        /// </summary>
        /// <param name="status"></param>
        private void YoutubeUploadStatusChanged(YoutubeUploadStatus status)
        {
            Dispatcher.Invoke((Action)(() =>
            {
                // すべてのファイルアップロードを終えたらサウンドを流して完了状態にする
                if (status.IsAllComplete)
                {
                    UploadProgress.Maximum = 100;
                    UploadProgress.Value = 100;
                    Utility.PlayCompleteSoundAsync();
                    return;
                }

                var percent = Convert.ToInt32(((status.FileCurrentUploadedByte + status.FileUploadedByte) / (double)status.FileAllByte) * 100);
                UploadProgress.Maximum = 100;
                UploadProgress.Value = percent;
                TaskbarManager.Instance.SetProgressValue(percent, 100);

                switch (status.Status)
                {
                case UploadStatus.Uploading:
                    Label_Status.Content = $"[{status.FileName}]をアップロード中です。({status.FileIndex}/{status.FileCount})";
                    break;

                case UploadStatus.Failed:
                    Label_Status.Content = $"[{status.FileName}]のアップロードに失敗しました。({status.FileIndex}/{status.FileCount})";
                    break;

                case UploadStatus.Completed:
                    Label_Status.Content = $"[{status.FileName}]をアップロード完了しました。({status.FileIndex}/{status.FileCount})";
                    break;
                }
            }));
        }
 /// <summary>
 /// オブジェクトクローン
 /// </summary>
 /// <returns></returns>
 public YoutubeUploadStatus Clone()
 {
     lock (lockObj)
     {
         var obj = new YoutubeUploadStatus();
         obj.FileName  = this.FileName;
         obj.FileIndex = this.FileIndex;
         obj.FileCount = this.FileCount;
         obj.FileCurrentUploadedByte = this.FileCurrentUploadedByte;
         obj.FileUploadedByte        = this.FileUploadedByte;
         obj.FileAllByte             = this.FileAllByte;
         obj.Status = this.Status;
         return(obj);
     }
 }