Exemple #1
0
        public static string CreateTableRowsFromValues(IEnumerable <MemberInfo> memberInfos, IEnumerable source, IRenderingEngine engine,
                                                       bool emptyFirstCell = false)
        {
            var nullRendering = new PlainTextRendering("null");
            var rowsBuffer    = new StringBuilder();


            foreach (var element in source)
            {
                rowsBuffer.AppendLine("\t<tr>");
                if (emptyFirstCell)
                {
                    rowsBuffer.AppendLine("\t\t<td></td>");
                }
                CreateTableRow(memberInfos, engine, element, nullRendering, rowsBuffer);
                rowsBuffer.AppendLine("\t</tr>");
            }

            return(rowsBuffer.ToString());
        }
Exemple #2
0
        public static string CreateTableRowsFromValues(IEnumerable <MemberInfo> memberInfos, IEnumerable <KeyValuePair <object, object> > source, IRenderingEngine engine,
                                                       bool emptyFirstCell = false)
        {
            var nullRendering = new PlainTextRendering("null");
            var rowsBuffer    = new StringBuilder();


            foreach (var(key, element) in source.Select(e => (e.Key, e.Value)))
            {
                rowsBuffer.AppendLine("\t<tr>");
                if (emptyFirstCell)
                {
                    rowsBuffer.AppendLine("\t\t<td></td>");
                }

                var keyRenderer  = engine.TryFindRenderer(key.GetType());
                var keyRendering = keyRenderer.Render(key, engine);
                rowsBuffer.AppendLine($"\t\t<td>{keyRendering?.Content ?? string.Empty}</td>");
                CreateTableRow(memberInfos, engine, element, nullRendering, rowsBuffer);
                rowsBuffer.AppendLine("\t</tr>");
            }

            return(rowsBuffer.ToString());
        }