aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs')
-rw-r--r--Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs79
1 files changed, 79 insertions, 0 deletions
diff --git a/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs
new file mode 100644
index 000000000..b72e15236
--- /dev/null
+++ b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.SessionClient.CLI/Program.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.IO.Pipes;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.StubsUtils.Shared;
+
+namespace Tango.StubsUtils.SessionClient.CLI
+{
+ class Program
+ {
+ private const string PIPE_NAME = "Tango_Stubs_Server";
+
+ static void Main(string[] args)
+ {
+ String line = String.Empty;
+
+ Console.WriteLine("Tango Stub Session Client v1.0");
+
+ while (true)
+ {
+ Console.Write("> ");
+ line = Console.ReadLine();
+
+ if (line.ToLower() == "exit")
+ {
+ Environment.Exit(0);
+ }
+
+ args = line.Split(' ');
+
+ StubPackageResponseDTO response = null;
+
+ try
+ {
+ var _client = new NamedPipeClientStream(PIPE_NAME);
+ _client.Connect(5000);
+
+ var writer = new StreamWriter(_client);
+
+ var jsonRequest = String.Join(" ", args);
+
+ writer.WriteLine(jsonRequest);
+ writer.Flush();
+
+ var reader = new StreamReader(_client);
+ String responseString = reader.ReadToEnd();
+ response = new StubPackageResponseDTO();
+ response.Status = responseString.StartsWith("Status: OK") ? StubPackageResponseStatus.OK : StubPackageResponseStatus.Error;
+ response.Message = responseString;
+ }
+ catch (Exception ex)
+ {
+ OnError($"Error communicating with the stubs service. {ex.Message}");
+ }
+
+ if (response.Status == StubPackageResponseStatus.OK)
+ {
+ Console.ForegroundColor = ConsoleColor.Gray;
+ Console.WriteLine(response.Message);
+ }
+ else
+ {
+ OnError(response.Message);
+ }
+ }
+ }
+
+ private static void OnError(String error)
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
+ Console.WriteLine($"{error}");
+ Console.ForegroundColor = ConsoleColor.Gray;
+ }
+ }
+}