Beispiel #1
0
        protected override ISpanned Convert(List <FeedEngagementModel> engagementList, Type targetType, object parameter, CultureInfo culture)
        {
            int allowedTotal = 3;

            if (parameter != null)
            {
                allowedTotal = (Int32)parameter;
            }
            if (engagementList == null)
            {
                return(CommentsHelper.BuildComments(engagementList));
            }
            List <FeedEngagementModel> commentList = new List <FeedEngagementModel>();

            foreach (FeedEngagementModel engagement in engagementList)
            {
                if (commentList.Count == allowedTotal)
                {
                    break;
                }
                var ContainErrorEmoji = engagement.Notes.Contains('?');
                if (!ContainErrorEmoji)
                {
                    try
                    {
                        var      convertStr = string.Join("-", System.Text.RegularExpressions.Regex.Matches(engagement.Notes, @"..").Cast <System.Text.RegularExpressions.Match>().ToList());
                        string[] tempArr    = convertStr.Split('-');
                        byte[]   decBytes   = new byte[tempArr.Length];
                        for (int i = 0; i < tempArr.Length; i++)
                        {
                            decBytes[i] = System.Convert.ToByte(tempArr[i], 16);
                        }
                        string strWithEmoji = Encoding.BigEndianUnicode.GetString(decBytes, 0, decBytes.Length);
                        engagement.Notes = strWithEmoji;
                        commentList.Add(engagement);
                    }
                    catch (FormatException)
                    {
                        commentList.Add(engagement);
                    }
                }
                else if (engagement.EngagementType == "COMMENT")
                {
                    commentList.Add(engagement);
                }
            }

            return(CommentsHelper.BuildComments(commentList));
        }
        //~FeedCellHolder()
        //{
        //    _readAllCommentsButton.Click -= OnReadCommentButtonClick;
        //    _likesIcon.Click -= OnLikeButtonClick;
        //    _commentIcon.Click -= OnCommentButtonClick;
        //    _actorImageView.Click -= OnLoadFriendFeedButtonClick;
        //}

        public void ShowComments(List <FeedEngagementModel> engagements)
        {
            _readAllCommentsButton.Visibility = ViewStates.Gone;
            _commentsTextView.TextFormatted   = CommentsHelper.BuildComments(engagements);
        }