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