public CommandResponse GetResponse(string CommandString)
        {
            var    result    = new CommandResult(false, "Failed to execute");
            string respondTo = null;
            var    cmd       = Serializer.Deserialize <CommandMessage>(CommandString, SerializeType.JSON);

            if (cmd != null && cmd.Command != null)
            {
                respondTo = cmd.RespondTo;
                var handler = InjectorService.Resolve <ICommandHandler>(cmd.Command.CommandID);
                if (handler != null)
                {
                    result = handler.Execute(cmd.Command);
                }
                else
                {
                    result.Result.SetValue("Invalid Command");
                }
            }
            var resultString = Serializer.Serialize(result, SerializeType.JSON);
            var response     = new CommandResponse()
            {
                RespondTo = respondTo,
                Message   = resultString
            };

            return(response);
        }
Beispiel #2
0
        private object CreateInstance()
        {
            var constructors = ResolveAsType.GetConstructors();
            var constructor  = constructors[0];

            var parameters = constructor.GetParameters();

            if (parameters.Length == 0)
            {
                return(Activator.CreateInstance(ResolveAsType));
            }
            else
            {
                object[] arguments = new object[parameters.Length];
                for (int i = 0; i < parameters.Length; i++)
                {
                    if (parameters[i].ParameterType == typeof(IDependencyInjectorService))
                    {
                        arguments[i] = InjectorService;
                    }
                    else
                    {
                        arguments[i] = InjectorService.Resolve(parameters[i].ParameterType);
                    }
                }
                return(Activator.CreateInstance(ResolveAsType, arguments));
            }
        }