public DreamMessage PutEvent(DreamContext context, DreamMessage message) { XDoc xmlEvent = message.Document; LogUtils.LogTrace(_log, "PutEvent", xmlEvent); EventRecord record = new EventRecord(); record.Who = xmlEvent["who"].Contents; record.When = xmlEvent["when"].AsDate ?? DateTime.UtcNow; record.Channel = xmlEvent["channel"].Contents; record.Action = xmlEvent["action"].Contents; record.ActionDetail = xmlEvent["detail"].Contents; record.Context = xmlEvent["context"].AsUri; record.Target = xmlEvent["target"].AsUri; if(record.ActionDetail != string.Empty) { Async(delegate() { Plug.New(context.Uri).At("stats", "record", record.ActionDetail).Put(DreamMessage.Ok(MimeType.TEXT, "1")); }); } if(record.Context != null) { Async(delegate() { Plug.New(context.Uri).At("events", "channels", record.Channel).Put(record.ToXDoc()); }); } return DreamMessage.Ok(); }
public DreamMessage PutEvent(DreamContext context, DreamMessage message) { XDoc xmlEvent = message.Document; LogUtils.LogTrace(_log, "PutEvent", xmlEvent); EventRecord record = new EventRecord(); record.Who = xmlEvent["who"].Contents; record.When = xmlEvent["when"].AsDate ?? DateTime.UtcNow; record.Channel = xmlEvent["channel"].Contents; record.Action = xmlEvent["action"].Contents; record.ActionDetail = xmlEvent["detail"].Contents; record.Context = xmlEvent["context"].AsUri; record.Target = xmlEvent["target"].AsUri; if (record.ActionDetail != string.Empty) { Async(delegate() { Plug.New(context.Uri).At("stats", "record", record.ActionDetail).Put(DreamMessage.Ok(MimeType.TEXT, "1")); }); } if (record.Context != null) { Async(delegate() { Plug.New(context.Uri).At("events", "channels", record.Channel).Put(record.ToXDoc()); }); } return(DreamMessage.Ok()); }