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