public void Process(DataEventModel dataEventModel) { ProcessorConfiguration processorConfig = configClient.GetConfigAsync(dataEventModel.DataEvent.ProcessorConfigId).Result; var data = dataEventModel.DataEvent.Payload.ToObject <Dictionary <String, String> >(); foreach (ProcessorConfigurationItem configItem in processorConfig.ConfigItems) { Type sourceType = Type.GetType(configItem.Source); // Need to handle get type misses...... // Could also dynamically load assemblies and types from those assemblies ISource source; if (!typeToSourceDictionary.ContainsKey(sourceType) || typeToSourceDictionary[sourceType] == null) { source = (ISource)Activator.CreateInstance(sourceType); typeToSourceDictionary.Add(sourceType, source); } else { source = typeToSourceDictionary[sourceType]; } if (configItem.ActionType == ActionTypes.GetData) { source.GetData(out data); } } Console.WriteLine(JsonConvert.SerializeObject(dataEventModel)); }
private void Init() { channel.QueueDeclare(rmqOptions.DataEventQueueName, false, false, false, null); consumer.Received += (ch, ea) => { string json = Encoding.UTF8.GetString(ea.Body); DataEventModel eventData = JsonConvert.DeserializeObject <DataEventModel>(json); DataEventReceived?.Invoke(eventData); }; }
public Task ProcessAsync(DataEventModel dataEventModel) { ProcessAsync(dataEventModel); return(Task.FromResult(0)); }
public void Process(DataEventModel dataEventModel) { Console.WriteLine(JsonConvert.SerializeObject(dataEventModel)); }
public ActionResult PostEvent([FromBody] DataEventModel eventModel) { DataEventModel result = dataEventsRepo.CreateEvent(eventModel); return(Created($"/api/DataEvents/{result.EventId}", result)); }
public ActionResult GetById(Guid eventId) { DataEventModel dataEvent = dataEventsRepo.GetById(eventId); return(Ok(dataEvent)); }
public DataEventModel CreateEvent(DataEventModel eventModel) { eventModel.EventId = Guid.NewGuid(); repo.Add(eventModel); return(eventModel); }