Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void wacotsu_Failed(object sender, FailedEventArgs e)
        {
            string message = null;

            switch (e.Status)
            {
            case Status.Closed:
                message = "すでに終了した放送です";
                break;

            case Status.NoAuth:
                message = "この放送を視聴するには特別な認証が必要です";
                break;

            case Status.NotFound:
                message = "放送が見つかりませんでした";
                break;

            case Status.NotLogin:
                message = "ログイン状態が解除されていて放送の情報を取得できません。\r\n標準のブラウザでニコニコ動画にログインしてからもう一度このアプリを再起動してください";
                break;

            case Status.RequireCommunityMember:
                message = "この放送を視聴するにはコミュニティに入会する必要があります";
                break;
            }
            MessageBox.Show(message);
            this.removeItemFromReservedListView(e.Live);
        }
Ejemplo n.º 2
0
		/// <summary>
		/// 放送の座席を取得
		/// </summary>
		/// <param name="liveId"></param>
		private void fetch(string liveId)
		{
			try {
				// アクセス
				var status = api.GetLiveStatus(liveId);
				if (status != null) {
					var successArgs = new SuccessEventArgs { LiveId = liveId, LiveStatus = status };
					this.Success(this, successArgs);
					Cancel(liveId);
				}
			}
			catch (Exception ex) {
				// エラーがニコニコ生放送のエラーならこれ以上再試行しても無駄なので中止する
				if (ex is NiconicoApi.Live.StatusException) {
					var errorReason = ((NiconicoApi.Live.StatusException)ex).Reason;
					var failedArgs = new FailedEventArgs { LiveId = liveId, FailReason = errorReason };
					this.Failed(this, failedArgs);
					Cancel(liveId);
				}
				// それ以外のエラーは大抵503なのでそのまま再試行
			}
		}