public void PostComment(string text, long replyCid, long replyUid, bool fromGroup, List <IOutboundAttachment> attachments, Action <bool> callback, StickerItemData stickerItemData = null, string stickerReferrer = "")
        {
            if (!this.CanPostComment(text, attachments, stickerItemData))
            {
                callback(false);
            }
            else if (this._postingComment)
            {
                callback(false);
            }
            else
            {
                this._postingComment = true;
                this.SetInProgress(true, "");
                // ISSUE: reference to a compiler-generated field
                // ISSUE: reference to a compiler-generated field
                // ISSUE: reference to a compiler-generated field
                // ISSUE: method pointer
                WallService.Current.AddComment(this._postId, this._ownerId, text, replyCid, fromGroup, attachments.Select <IOutboundAttachment, string>((Func <IOutboundAttachment, string>)(a => a.AttachmentId)).ToList <string>(), (Action <BackendResult <Comment, ResultCode> >)(res =>
                {
                    this.SetInProgress(false, "");
                    this._postingComment = false;
                    Execute.ExecuteOnUIThread((Action)(() =>
                    {
                        bool flag = res.ResultCode == ResultCode.Succeeded;
                        if (flag)
                        {
                            CommentItem commentItem = this.CreateCommentItem(res.ResultData);
                            this._runningCountOfComments = this._runningCountOfComments + 1;
                            this.UpdateCommentsCountItem();
                            MyVirtualizingPanel2 panel = this._panel;
                            int count = this._panel.VirtualizableItems.Count;
                            List <IVirtualizable> itemsToInsert = new List <IVirtualizable>();
                            itemsToInsert.Add((IVirtualizable)commentItem);
                            int num = 0;
                            // ISSUE: variable of the null type

                            panel.InsertRemoveItems(count, itemsToInsert, num != 0, null);
                            this._fetchedComments.Add(res.ResultData);
                            EventAggregator current = EventAggregator.Current;
                            WallCommentIsAddedDeleted commentIsAddedDeleted = new WallCommentIsAddedDeleted();
                            commentIsAddedDeleted.Added = true;
                            long toId = this._wallPostData.WallPost.to_id;
                            commentIsAddedDeleted.OwnerId = toId;
                            long id = this._wallPostData.WallPost.id;
                            commentIsAddedDeleted.WallPostId = id;
                            current.Publish(commentIsAddedDeleted);
                        }
                        callback(flag);
                    }));
                }), stickerItemData == null ? 0 : stickerItemData.StickerId, stickerReferrer);
            }
        }
        public void DeleteComment(CommentItem commentItem)
        {
            this._panel.RemoveItem((IVirtualizable)commentItem);
            this._runningCountOfComments = this._runningCountOfComments - 1;
            this.UpdateCommentsCountItem();
            EventAggregator           current = EventAggregator.Current;
            WallCommentIsAddedDeleted commentIsAddedDeleted = new WallCommentIsAddedDeleted();

            commentIsAddedDeleted.Added = false;
            long id = this._wallPostData.WallPost.id;

            commentIsAddedDeleted.WallPostId = id;
            long toId = this._wallPostData.WallPost.to_id;

            commentIsAddedDeleted.OwnerId = toId;
            current.Publish((object)commentIsAddedDeleted);
            WallService.Current.DeleteComment(this._ownerId, commentItem.Comment.cid, (Action <BackendResult <ResponseWithId, ResultCode> >)(res => {}));
        }