protected virtual void OnCommandInvoked(CommandInvokedEventArgs e) { if (CommandInvoked != null) { System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke(CommandInvoked, this, e); } }
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 void OnCommandInvoked(object sender, CommandInvokedEventArgs e) { _log.Debug("Invoked " + e.Command); try { CloseUnitOfWorks(e.Scope); } catch (Exception exception) { _log.Fatal("failed to commit", exception); } }
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()); }
void wiAdminService_CommandInvoked(object sender, CommandInvokedEventArgs e) { Output += string.Format("Command:\n{0}\nResult:\n{1}\n", e.Argument, e.Output); }