Exemple #1
0
 public void SendAlert()
 {
     if (IsValid())
     {
         var props = Writer.EnsureProperties(properties);
         props.Add(XFConstants.EventWriter.EventType, EventTypeOption.Alert);
         props.Add(XFConstants.Alert.Title, Title);
         props.Add(XFConstants.Alert.Message, Message);
         props.Add(XFConstants.Alert.Categories, Categories.ToString());
         props.Add(XFConstants.Alert.Urgency, Urgency.ToString());
         props.Add(XFConstants.Alert.Importance, Importance.ToString());
         props.Add(XFConstants.Alert.Targets, Audiences.ToString());
         props.Add(XFConstants.Alert.Source, Source);
         props.Add(XFConstants.Alert.CreatedAt, DateTime.Now.ToString(XFConstants.DateTimeFormat));
         if (!String.IsNullOrEmpty(Error))
         {
             props.Add(XFConstants.Alert.Error, Error);
         }
         if (!String.IsNullOrWhiteSpace(Stacktrace))
         {
             props.Add(XFConstants.Alert.StackTrace, Stacktrace);
         }
         if (!String.IsNullOrWhiteSpace(NamedRecipient))
         {
             props.Add(XFConstants.Alert.NamedTarget, NamedRecipient);
         }
         if (!String.IsNullOrWhiteSpace(Topic))
         {
             props.Add(XFConstants.Alert.Topic, Topic);
         }
         List <TypedItem> list = Writer.Convert(props);
         EventWriter.Write(EventTypeOption.Alert, list);
     }
 }
Exemple #2
0
        public static void WriteStatus(object modelId, string modelType, string modelStatus, DateTimeOffset effective, IDictionary <string, object> properties)
        {
            var props = Writer.EnsureProperties(properties);

            props.Add(XFConstants.EventWriter.EventType, EventTypeOption.Status);
            props.Add(XFConstants.EventWriter.ModelId, modelId);
            props.Add(XFConstants.EventWriter.ModelType, modelType);
            props.Add(XFConstants.EventWriter.ModelStatus, modelStatus);
            props.Add(XFConstants.EventWriter.Effective, effective);
            List <TypedItem> list = Writer.Convert(props);

            EventWriter.Write(EventTypeOption.Status, list);
        }
Exemple #3
0
        public static void WriteTask(TaskTypeOption option, string taskName, object taskId, object masterId, string itemName, object itemId, IDictionary <string, object> properties)
        {
            var props = Writer.EnsureProperties(properties);

            props.Add(XFConstants.EventWriter.EventType, EventTypeOption.Task);
            props.Add(XFConstants.TaskWriter.TaskType, option);
            props.Add(XFConstants.TaskWriter.TaskName, taskName);
            props.Add(XFConstants.TaskWriter.TaskId, taskId);
            props.Add(XFConstants.TaskWriter.TaskMasterId, masterId);
            props.Add(XFConstants.TaskWriter.TaskItemName, itemName);
            props.Add(XFConstants.TaskWriter.TaskItemId, itemId);
            List <TypedItem> list = Writer.Convert(props);

            EventWriter.Write(EventTypeOption.Task, list);
        }
Exemple #4
0
        public static void Alert(string title, string message, string[] categories, ScaleOption urgency, ScaleOption importance, IDictionary <string, object> properties, params string[] targets)
        {
            //EventWriter.Alert(title, message, categories, urgency, importance, properties, targets);
            var props = Writer.EnsureProperties(properties);

            props.Add(XFConstants.EventWriter.EventType, EventTypeOption.Alert);
            props.Add(XFConstants.Alert.Title, title);
            props.Add(XFConstants.Alert.Message, message);
            props.Add(XFConstants.Alert.Categories, categories.ToDelimited('|'));
            props.Add(XFConstants.Alert.Urgency, urgency.ToString());
            props.Add(XFConstants.Alert.Importance, importance.ToString());
            props.Add(XFConstants.Alert.Targets, targets.ToDelimited('|'));
            props.Add(XFConstants.Alert.CreatedAt, DateTime.Now.ToString(XFConstants.DateTimeFormat));

            List <TypedItem> list = Writer.Convert(props);

            EventWriter.Write(EventTypeOption.Alert, list);
        }