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); }