diff options
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.cs | 79 |
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; + } + } +} |
