示例#1
0
 public CommandResult Handle(CommandDescriptor descriptor)
 {
     try
     {
         var commandType = _typeDiscoverer.GetCommandTypeByName(descriptor.GeneratedFrom);
         var command     = (ICommand)_serializer.FromJson(commandType, descriptor.Command);
         command.Id = descriptor.Id;
         _commandContextConnectionManager.Register(Context.ConnectionId, command.Id);
         var commandResult = _commandCoordinator.Handle(command);
         return(commandResult);
     }
     catch (Exception ex)
     {
         return(new CommandResult {
             Exception = ex,
             ExceptionMessage = string.Format("Exception occured of type '{0}' with message '{1}'. StackTrace : {2}", ex.GetType().Name, ex.Message, ex.StackTrace)
         });
     }
 }
示例#2
0
        public CommandResult Handle(JsonCommandRequest command)
        {
            try
            {
                var contentAsKeyValues = _serializer.GetKeyValuesFromJson(command.Content).ToDictionary(k => k.Key.ToPascalCase(), k => k.Value);
                var commandRequest     = new CommandRequest(command.CorrelationId, command.Type, contentAsKeyValues);

                _commandContextConnectionManager.Register(Context.ConnectionId, command.CorrelationId);
                var commandResult = _commandCoordinator.Handle(commandRequest);
                return(commandResult);
            }
            catch (Exception ex)
            {
                return(new CommandResult {
                    Exception = ex,
                    ExceptionMessage = string.Format("Exception occured of type '{0}' with message '{1}'. StackTrace : {2}", ex.GetType().Name, ex.Message, ex.StackTrace)
                });
            }
        }