示例#1
0
        private object[] GetParameters(MethodInfo actionMethod, ExecuteCommand command)
        {
            return(actionMethod.GetParameters().Select(parameter => {
                if (parameter.Position >= command.Parameters.Length)
                {
                    return null;
                }

                if (parameter.ParameterType.IsGenericType &&
                    parameter.ParameterType.GetGenericTypeDefinition() == typeof(IAsyncEnumerable <>))
                {
                    SapphireStreamHelper streamHelper = (SapphireStreamHelper)serviceProvider.GetService(typeof(SapphireStreamHelper));
                    return streamHelper.OpenStreamChannel(Connection, command, parameter.ParameterType);
                }

                JToken parameterValue = command.Parameters[parameter.Position];
                return parameterValue?.ToObject(parameter.ParameterType);
            }).ToArray());
        }
 public CompleteStreamCommandHandler(DbContextAccesor dbContextAccessor, SapphireStreamHelper streamHelper)
     : base(dbContextAccessor)
 {
     this.streamHelper = streamHelper;
 }