示例#1
0
        public virtual void WriteAllValues(IConsoleOutputter consoleOutputter, ViewPort viewPort, ColumnDetails columnConstraints, int lineOrdinal, bool displayNulls = true, string verticalSeparator = "|", string truncationIdentifier = "...")
        {
            foreach (ICellContent item in this.GetCellContentByLineOrdinal(lineOrdinal))
            {
                string data = columnConstraints.GetFormattedValue(item.Value, viewPort, displayNulls, verticalSeparator);

                if (IsOverlyLargeColumn(columnConstraints, viewPort, verticalSeparator))
                {
                    if (data.Length > viewPort.Width)
                    {
                        if (item.ForegroundColor.HasValue)
                        {
                            consoleOutputter.SetForegroundColor(item.ForegroundColor.Value);
                        }

                        consoleOutputter.Write(data.Substring(0, viewPort.Width - (verticalSeparator.Length * 2) - Environment.NewLine.Length - truncationIdentifier.Length));

                        consoleOutputter.SetForegroundColor(ConsoleColor.Yellow);
                        consoleOutputter.BackgroundColor = ConsoleColor.Black;
                        consoleOutputter.Write(truncationIdentifier);
                        consoleOutputter.ResetColor();
                    }
                    else
                    {
                        if (item.ForegroundColor.HasValue)
                        {
                            consoleOutputter.SetForegroundColor(item.ForegroundColor.Value);
                        }
                        consoleOutputter.Write(data);
                        consoleOutputter.ResetColor();
                    }
                }
                else if (data.Contains("[null]"))
                {
                    consoleOutputter.SetForegroundColor(ConsoleColor.DarkGray);
                    consoleOutputter.Write(data);
                    consoleOutputter.ResetColor();
                }
                else
                {
                    if (item.ForegroundColor.HasValue)
                    {
                        consoleOutputter.SetForegroundColor(item.ForegroundColor.Value);
                    }
                    consoleOutputter.Write(data);
                    consoleOutputter.ResetColor();
                }
            }
        }
示例#2
0
 public virtual void Write(IConsoleOutputter consoleOutputter, ViewPort viewPort, int lineOrdinal, ColumnDetails columnConstraints)
 {
     WriteAllValues(consoleOutputter, viewPort, columnConstraints, lineOrdinal);
 }
示例#3
0
 public TableWriter(IConsoleOutputter consoleOutputter, ViewPort viewPort)
 {
     this.consoleOutputter = consoleOutputter;
     this.viewPort         = viewPort;
 }