Bladeren bron

Common:

- Add ConsoleWriter class (to write colorful texts to console)
Dalibor Votruba 6 jaren geleden
bovenliggende
commit
d6c15aa80f
4 gewijzigde bestanden met toevoegingen van 80 en 1 verwijderingen
  1. 1 0
      Common/Common.csproj
  2. 76 0
      Common/Console/ConsoleWriter.cs
  3. 2 1
      Common/QDR.FND.Common.nuspec
  4. 1 0
      Common/ReleaseNote.txt

+ 1 - 0
Common/Common.csproj

@@ -41,6 +41,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Console\ConsoleWriter.cs" />
     <Compile Include="Data\Extensions\SqlCommandExt.cs" />
     <Compile Include="Reflection\TypePropertyLocator.cs" />
     <Compile Include="Value\Result.cs" />

+ 76 - 0
Common/Console/ConsoleWriter.cs

@@ -0,0 +1,76 @@
+using System;
+using Quadarax.Foundation.Common.Object;
+
+namespace Quadarax.Foundation.Common.Console
+{
+    public class ConsoleWriter : DisposableObject
+    {
+        private readonly ConsoleColor _oldBackColor;
+        private readonly ConsoleColor _oldForeColor;
+        private readonly ConsoleColor _backColor;
+        private readonly ConsoleColor _foreColor;
+
+
+        
+
+        public ConsoleWriter(ConsoleColor foreColor,ConsoleColor backColor)
+        {
+            _oldBackColor = System.Console.BackgroundColor;
+            _oldForeColor = System.Console.ForegroundColor;
+            _backColor = backColor;
+            _foreColor = foreColor;
+        }
+
+        public ConsoleWriter(ConsoleColor foreColor)
+        {
+            _oldBackColor = System.Console.BackgroundColor;
+            _oldForeColor = System.Console.ForegroundColor;
+            _backColor = _oldBackColor;
+            _foreColor = foreColor;
+        }
+
+
+        public ConsoleWriter WriteLine(string text)
+        {
+            SetColor();
+            System.Console.WriteLine(text);
+            return this;
+        }
+
+        public string ReadLine()
+        {
+            SetColor();
+            return System.Console.ReadLine();
+        }
+
+        public ConsoleWriter WriteLine()
+        {
+            System.Console.WriteLine();
+            return this;
+        }
+        public ConsoleWriter Write(string text)
+        {
+            SetColor();
+            System.Console.Write(text);
+            return this;
+        }
+
+        public static void Clear()
+        {
+            System.Console.Clear();
+        }
+
+        protected override void OnDisposing()
+        {
+            System.Console.ForegroundColor = _oldForeColor;
+            System.Console.BackgroundColor = _oldBackColor;
+        }
+
+        private void SetColor()
+        {
+            System.Console.ForegroundColor = _foreColor;
+            System.Console.BackgroundColor = _backColor;
+        }
+
+    }
+}

+ 2 - 1
Common/QDR.FND.Common.nuspec

@@ -15,9 +15,10 @@
       New
       - Add TypePropertyLocator helper
       - Add Result class (in Value branch)
+      - Add ConsoleWriter class (to write colorful texts to console)
     </releaseNotes>
     <copyright>Copyright (c) 2019 Quadarax</copyright>
-    <tags>quadarax, foundarion, common, qdr, fnd, library, extensions</tags>
+    <tags>quadarax, foundation, common, qdr, fnd, library, extensions</tags>
     <dependencies>
          </dependencies>
     <summary>Libraries</summary>

+ 1 - 0
Common/ReleaseNote.txt

@@ -2,6 +2,7 @@
 New
  - Add TypePropertyLocator helper
  - Add Result class (in Value branch)
+ - Add ConsoleWriter class (to write colorful texts to console)
 
 3.12.2019 v.1.0.0.4
 New