private void ProcessExecutedCommandMessage(CommandExecutedMessage message) { CommandTaskCompletionSource commandTaskCompletionSource; if (_commandTaskDict.TryGetValue(message.CommandId, out commandTaskCompletionSource)) { if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.CommandExecuted) { _commandTaskDict.Remove(message.CommandId); var commandResult = new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); if (commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new AsyncTaskResult <CommandResult>(AsyncTaskStatus.Success, commandResult))) { _logger.DebugFormat("Command result setted, commandId:{0}, commandStatus:{1}, aggregateRootId:{2}", message.CommandId, message.CommandStatus, message.AggregateRootId); } } else if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.EventHandled) { if (message.CommandStatus == CommandStatus.Failed || message.CommandStatus == CommandStatus.NothingChanged) { _commandTaskDict.Remove(message.CommandId); var commandResult = new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); if (commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new AsyncTaskResult <CommandResult>(AsyncTaskStatus.Success, commandResult))) { _logger.DebugFormat("Command result setted, commandId:{0}, commandStatus:{1}, aggregateRootId:{2}, exceptionTypeName:{3}, errorMessage:{4}", message.CommandId, message.CommandStatus, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); } } } } }
void OnCommandExecuted(CommandExecutedMessage msg) { if (msg.Exception == null) { Close(); return; } MessageBox.Show(this, msg.Exception.Message, "Commando", MessageBoxButton.OK, MessageBoxImage.Error); }
public void Serialize(String app, IMessage message, StreamWriter writer) { CommandExecutedMessage msg = (CommandExecutedMessage)message; writer.Write(@"{""type"":""SQL"",""app"":"""); writer.Write(app); writer.Write(@""",""sql"":"""); writer.Write(msg.CommandText.Replace('"', '\'').Replace("\n", "").Replace("\r", "")); writer.Write(@""",""time"":"""); writer.Write(msg.Duration.TotalMilliseconds); writer.Write(@""",""uri"":"""); var request = HttpContext.Current.Request; writer.Write(request.HttpMethod); writer.Write(" "); writer.Write(request.Url.AbsolutePath); writer.Write(@"""}"); writer.Write('\n'); }
private void ProcessExecutedCommandMessage(CommandExecutedMessage message) { CommandTaskCompletionSource commandTaskCompletionSource; if (_commandTaskDict.TryGetValue(message.CommandId, out commandTaskCompletionSource)) { if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.CommandExecuted) { _commandTaskDict.Remove(message.CommandId); var commandResult = new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); if (commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new AsyncTaskResult<CommandResult>(AsyncTaskStatus.Success, commandResult))) { _logger.DebugFormat("Command result setted, commandId:{0}, commandStatus:{1}, aggregateRootId:{2}", message.CommandId, message.CommandStatus, message.AggregateRootId); } } else if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.EventHandled) { if (message.CommandStatus == CommandStatus.Failed || message.CommandStatus == CommandStatus.NothingChanged) { _commandTaskDict.Remove(message.CommandId); var commandResult = new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); if (commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new AsyncTaskResult<CommandResult>(AsyncTaskStatus.Success, commandResult))) { _logger.DebugFormat("Command result setted, commandId:{0}, commandStatus:{1}, aggregateRootId:{2}, exceptionTypeName:{3}, errorMessage:{4}", message.CommandId, message.CommandStatus, message.AggregateRootId, message.ExceptionTypeName, message.ErrorMessage); } } } } }
private void ProcessExecutedCommandMessage(CommandExecutedMessage message) { CommandTaskCompletionSource commandTaskCompletionSource; if (_commandTaskDict.TryGetValue(message.CommandId, out commandTaskCompletionSource)) { if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.CommandExecuted) { commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionCode, message.ErrorMessage)); } if (commandTaskCompletionSource.CommandReturnType == CommandReturnType.DomainEventHandled) { if (message.CommandStatus == CommandStatus.Failed || message.CommandStatus == CommandStatus.NothingChanged) { commandTaskCompletionSource.TaskCompletionSource.TrySetResult(new CommandResult(message.CommandStatus, message.CommandId, message.AggregateRootId, message.ExceptionCode, message.ErrorMessage)); } } } if (!string.IsNullOrEmpty(message.ProcessId)) { if (message.CommandStatus == CommandStatus.Failed) { TaskCompletionSource<ProcessResult> processTaskCompletionSource; if (_processTaskDict.TryGetValue(message.ProcessId, out processTaskCompletionSource)) { processTaskCompletionSource.TrySetResult(new ProcessResult(message.ProcessId, message.ExceptionCode, message.ErrorMessage)); } } } }