/// <summary> /// Sets the value of the designated parameter using the given object. /// </summary> /// <param name="statementId">The statement id.</param> /// <param name="parameterIndex">the first parameter is 1, the second is 2, ...</param> /// <param name="value">the object containing the input parameter value</param> /// <exception name="EPException">if the substitution parameter could not be located</exception> public void SetObject(string statementId, int parameterIndex, Object value) { using (var wrapper = CreateControlManager()) { WithExceptionHandling( delegate { var controlManager = wrapper.Channel; var preparedValueArgs = new PreparedValueArgs(); preparedValueArgs.DataType = value.GetType().FullName; preparedValueArgs.Data = SerializationFabric.Serialize(value); preparedValueArgs.ParameterIndex = parameterIndex; controlManager.SetPreparedValue( _instanceId, statementId, preparedValueArgs); }); } }
/// <summary> /// Send an event represented by a plain object to the event stream processing /// runtime. /// </summary> /// <param name="obj">is the event to sent to the runtime</param> public void SendEvent(object obj) { if (obj == null) { throw new ArgumentNullException("obj"); } // register the type just incase it hasn't been _administrator.RegisterType(obj.GetType()); var eventPublisher = GetEventPublisher(); var serialized = SerializationFabric.Serialize(obj); var eventArgs = new JsonEvent(obj.GetType().FullName, serialized); var eventElement = new XElement( "json", new XElement("type", new XCData(eventArgs.EventType)), new XElement("data", new XCData(eventArgs.EventData))); eventPublisher.SendEvent(eventElement); }