private void TryConfirmAndDelete()

in CSharp/BotBuilderLocation/Dialogs/FavoriteLocationRetrieverDialog.cs [145:173]


        private void TryConfirmAndDelete(IDialogContext context, FavoriteLocation favoriteLocation)
        {
            var confirmationAsk = string.Format(
                       this.ResourceManager.DeleteFavoriteConfirmationAsk,
                       $"{favoriteLocation.Name}: {favoriteLocation.Location.GetFormattedAddress(this.ResourceManager.AddressSeparator)}");

            this.selectedLocation = favoriteLocation;

            PromptDialog.Confirm(
                    context,
                    async (dialogContext, answer) =>
                    {
                        if (await answer)
                        {
                            this.favoritesManager.Delete(dialogContext, this.selectedLocation);
                            await dialogContext.PostAsync(string.Format(this.ResourceManager.FavoriteDeletedConfirmation, this.selectedLocation.Name));
                            await this.StartAsync(dialogContext);
                        }
                        else
                        {
                            await dialogContext.PostAsync(string.Format(this.ResourceManager.DeleteFavoriteAbortion, this.selectedLocation.Name));
                            await dialogContext.PostAsync(this.ResourceManager.SelectFavoriteLocationPrompt);
                            dialogContext.Wait(this.MessageReceivedAsync);
                        }
                    },
                    confirmationAsk,
                    retry: this.ResourceManager.ConfirmationInvalidResponse,
                    promptStyle: PromptStyle.None);
        }