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));
             }
         }
     }
 }