Esempio n. 1
0
        private async void Delete_Click(object sender,
                                        RoutedEventArgs e)
        {
            DeleteButton.IsEnabled = false;

            try
            {
                if (!CurrentCommentData.User.Id.HasValue || CurrentCommentData.User.Id == -1)
                {
                    return;
                }
                if (CurrentCommentData.User.Id != SettingsManager.PersistentSettings.CurrentUser.Id)
                {
                    return;
                }

                var confirmResult = await DialogManager.ShowConfirmationDialog()
                                    .ConfigureAwait(true);

                if (confirmResult != MahApps.Metro.Controls.Dialogs.MessageDialogResult.Affirmative)
                {
                    return;
                }

                var result = await PostApi.RemoveComment(
                    SettingsManager.PersistentSettings.CurrentUser.Token,
                    CurrentCommentData.Id)
                             .ConfigureAwait(true);

                if (result.IsError)
                {
                    await DialogManager.ShowErrorDialog(result.Message)
                    .ConfigureAwait(true);

                    return;
                }

                Visibility = Visibility.Collapsed;

                RaiseEvent(new RoutedEventArgs(CommentDeleteEvent));
            }
            finally
            {
                DeleteButton.IsEnabled = true;
            }
        }