private static string GetEqualitySeparator(CompareViewModel item) { char separator = VerticalLineChar; string result = separator + " " + separator; if (item?.LeftItem != null && item.RightItem != null) { if (item.ContentsComparison == 0) { if (item.RelPathComparison != 0) { result = String.Empty + separator + LeftRightArrowChar + separator; } else { result = String.Empty + separator + EqualChar + separator; } } else { result = String.Empty + separator + NotEqualChar + separator; } } return(result); }
public void OutputRow(CompareViewModel viewModel) { CalculateWidths(); if (Helpers.GetShouldShowRow(_displayMode, viewModel)) { if (_showHeader) { OutputHeader(); _showHeader = false; } var leftPathColour = Console.ForegroundColor; var leftDateColour = Console.ForegroundColor; var leftSizeColour = Console.ForegroundColor; var rightPathColour = Console.ForegroundColor; var rightDateColour = Console.ForegroundColor; var rightSizeColour = Console.ForegroundColor; if (viewModel.LeftItem != null && viewModel.RightItem != null) { if (viewModel.LastWriteComparison > 0) { leftDateColour = ConsoleColor.Green; } else if (viewModel.LastWriteComparison < 0) { rightDateColour = ConsoleColor.Green; } if (viewModel.SizeComparison > 0) { leftSizeColour = ConsoleColor.Blue; } else if (viewModel.SizeComparison < 0) { rightSizeColour = ConsoleColor.Blue; } } Console.ForegroundColor = leftPathColour; Console.Write(GetPathAsJustifiedString(viewModel.LeftItem?.RelativePath, Justification.Left)); Console.ResetColor(); Console.Write(VerticalLineChar); Console.ForegroundColor = leftDateColour; Console.Write(GetDateAsJustifiedString(viewModel.LeftItem?.LastWriteTimeUtc, Justification.Left)); Console.ResetColor(); Console.Write(VerticalLineChar); Console.ForegroundColor = leftSizeColour; Console.Write(GetSizeAsJustifiedString(viewModel.LeftItem?.Length, Justification.Right)); Console.ResetColor(); Console.Write(GetEqualitySeparator(viewModel)); Console.ForegroundColor = rightPathColour; Console.Write(GetPathAsJustifiedString(viewModel.RightItem?.RelativePath, Justification.Left)); Console.ResetColor(); Console.Write(VerticalLineChar); Console.ForegroundColor = rightDateColour; Console.Write(GetDateAsJustifiedString(viewModel.RightItem?.LastWriteTimeUtc, Justification.Left)); Console.ResetColor(); Console.Write(VerticalLineChar); Console.ForegroundColor = rightSizeColour; Console.Write(GetSizeAsJustifiedString(viewModel.RightItem?.Length, Justification.Right)); Console.WriteLine(); Console.ResetColor(); } }