public void RenderComments() { var comments = ViewModel.Comments .Select(x => new Comment(x.User.AvatarUrl, x.User.Login, ViewModel.ConvertToMarkdown(x.Body), x.CreatedAt)) .Concat(ViewModel.Events.Select(x => new Comment(x.Actor.AvatarUrl, x.Actor.Login, CreateEventBody(x.Event, x.CommitId), x.CreatedAt))) .Where(x => !string.IsNullOrEmpty(x.Body)) .OrderBy(x => x.Date) .ToList(); var commentModel = new CommentModel(comments, (int)UIFont.PreferredSubheadline.PointSize); var razorView = new CommentsView { Model = commentModel }; var html = razorView.GenerateString(); InvokeOnMainThread(() => { _commentsElement.SetValue(!comments.Any() ? null : html); Render(); }); }
private IEnumerable <CommentModel> CreateCommentList() { var items = ViewModel.Comments.Select(x => new CommentModel { AvatarUrl = x.User.AvatarUrl, Login = x.User.Login, CreatedAt = x.CreatedAt, Body = ViewModel.ConvertToMarkdown(x.Body) }) .Concat(ViewModel.Events.Select(x => new CommentModel { AvatarUrl = x.Actor.AvatarUrl, Login = x.Actor.Login, CreatedAt = x.CreatedAt, Body = CreateEventBody(x.Event, x.CommitId) }) .Where(x => !string.IsNullOrEmpty(x.Body))); return(items.OrderBy(x => x.CreatedAt)); }