private async Task <string> RunProcess(string argument) { IWitAdminProcessService process = CreateProcess(argument); await process.Start(); process.WaitForExit(); string result = null; var errorMessage = process.Error; if (string.IsNullOrEmpty(errorMessage)) { result = process.Output; } else { errorMessage = string.Format("Error : \n{0}", errorMessage); result = errorMessage; } CommandInvokedEventArgs eventArg = new CommandInvokedEventArgs(); eventArg.Argument = argument; eventArg.Output = result; OnCommandInvoked(eventArg); if (!string.IsNullOrEmpty(errorMessage)) { throw new WitAdminException(errorMessage); } return(result); }
private async Task <string[]> RunProcessWithSplitedResult(string argument) { CommandInvokedEventArgs eventArg = null; IWitAdminProcessService process = CreateProcess(argument); await process.Start(); process.WaitForExit(); List <String> result = new List <string>(); var errorMessage = process.Error; StringBuilder resultText = new StringBuilder(); if (string.IsNullOrEmpty(errorMessage)) { result = process.SplitedOutput; resultText.AppendLine(process.Output); } else { errorMessage = string.Format("Error : \n{0}", errorMessage); resultText.AppendLine(); } eventArg = new CommandInvokedEventArgs(); eventArg.Argument = argument; eventArg.Output = resultText.ToString(); eventArg.Output = process.Output; OnCommandInvoked(eventArg); if (!string.IsNullOrEmpty(errorMessage)) { throw new WitAdminException(errorMessage); } return(result.ToArray()); }