예제 #1
0
        private async Task DeleteBingoEntry(string replyToken, BingoEntry gameEntry, BingoEntry cardEntry)
        {
            if (gameEntry != null)
            {
                await _tableStorage.DeleteGameEntryAsync(gameEntry);
                await DeleteCardsAsync(gameEntry);

                await _bingoClient.DeleteGameAsync(gameEntry.GameId, gameEntry.AccessKey);

                if (gameEntry.GameId < 0)
                {
                    await _messagingClient.ReplyMessageAsync(replyToken,
                                                             "ゲームを終了しました。");
                }
                else
                {
                    await _messagingClient.ReplyMessageAsync(replyToken,
                                                             $"ID:{gameEntry.GameId}のゲームと、ゲームの情報、参加者の情報を全て削除しました。");
                }
            }
            else if (cardEntry != null)
            {
                await DeleteCardStorageAsync(cardEntry);

                if (cardEntry.CardId < 0)
                {
                    await _messagingClient.ReplyMessageAsync(replyToken,
                                                             "ゲームへの参加をやめました。");
                }
                else
                {
                    await _messagingClient.ReplyMessageAsync(replyToken,
                                                             $"ID:{cardEntry.GameId}のゲームから抜けて、カードの情報を削除しました。");
                }
            }
        }