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