private void BatchApproveComments(IList comments)
        {
            if (null == comments || 0 == comments.Count) return;
            IList<Comment> list = ConvertList(comments, eCommentStatus.approve);
            if (0 == list.Count) return;

            EditCommentsStatusRPC rpc = new EditCommentsStatusRPC();
            rpc.CommentStatus = eCommentStatus.approve;
            rpc.Comments = list;
            rpc.Completed += OnBatchEditXmlRPCCompleted;
            rpc.ExecuteAsync();

            ApplicationBar.IsVisible = false; //hide the application bar
            App.WaitIndicationService.ShowIndicator(_localizedStrings.Messages.ApprovingComments);
        }
        private void BatchSpamComments(IList comments)
        {
            if (null == comments || 0 == comments.Count) return;
            IList<Comment> list = ConvertList(comments, eCommentStatus.spam);
            if (0 == list.Count) return;

            string comment_label = (1 == comments.Count) ? _localizedStrings.Prompts.Comment : _localizedStrings.Prompts.Comments;
            string prompt = string.Format(_localizedStrings.Prompts.ConfirmMarkSpamCommentsFormat, comments.Count, comment_label);
            MessageBoxResult result = MessageBox.Show(prompt, _localizedStrings.Prompts.Confirm, MessageBoxButton.OKCancel);
            if (result == MessageBoxResult.OK)
            {
                EditCommentsStatusRPC rpc = new EditCommentsStatusRPC();
                rpc.CommentStatus = eCommentStatus.spam;
                rpc.Comments = list;
                rpc.Completed += OnBatchEditXmlRPCCompleted;
                rpc.ExecuteAsync();

                ApplicationBar.IsVisible = false; //hide the application bar
                App.WaitIndicationService.ShowIndicator(_localizedStrings.Messages.MarkingCommentsAsSpam);
            }
        }