Esempio n. 1
0
        /// <summary>
        /// Records event with parameters
        /// </summary>
        /// <param name="area">Telemetry area name such as 'Toolbox'.</param>
        /// <param name="eventName">Event name.</param>
        /// <param name="parameters">
        /// Either string/object dictionary or anonymous
        /// collection of string/object pairs.
        /// </param>
        /// <summary>
        public void ReportEvent(TelemetryArea area, string eventName, object parameters = null)
        {
            Check.ArgumentStringNullOrEmpty("eventName", eventName);

            string completeEventName = MakeEventName(area, eventName);

            if (parameters == null)
            {
                this.TelemetryRecorder.RecordEvent(completeEventName);
            }
            else if (parameters is string)
            {
                this.TelemetryRecorder.RecordEvent(completeEventName, parameters as string);
            }
            else
            {
                IDictionary <string, object> dict           = DictionaryExtensions.FromAnonymousObject(parameters);
                IDictionary <string, object> dictWithPrefix = new Dictionary <string, object>();

                foreach (KeyValuePair <string, object> kvp in dict)
                {
                    Check.ArgumentStringNullOrEmpty("parameterName", kvp.Key);
                    dictWithPrefix[this.PropertyNamePrefix + area.ToString() + "." + kvp.Key] = kvp.Value ?? string.Empty;
                }
                this.TelemetryRecorder.RecordEvent(completeEventName, dictWithPrefix);
            }
        }
 public void TelemetryTestService_EventWithParametersTest(TelemetryArea area, string eventName) {
     var telemetryService = new TelemetryTestService();
     telemetryService.ReportEvent(area, eventName, new { parameter = "value" });
     string log = telemetryService.SessionLog;
     log.Should().Be(TelemetryTestService.EventNamePrefixString + area.ToString() + "/" + eventName +
                     "\r\n\t" + TelemetryTestService.PropertyNamePrefixString + area.ToString() + ".parameter : value\r\n");
 }
Esempio n. 3
0
        public void TelemetryTestService_SimpleEventTest(TelemetryArea area, string eventName)
        {
            var telemetryService = new TelemetryTestService();

            telemetryService.ReportEvent(area, eventName);
            string log = telemetryService.SessionLog;

            log.Should().Be(TelemetryTestService.EventNamePrefixString + area.ToString() + "/" + eventName + "\r\n");
        }
Esempio n. 4
0
        public void TelemetryTestService_EventWithParametersTest(TelemetryArea area, string eventName)
        {
            var telemetryService = new TelemetryTestService();

            telemetryService.ReportEvent(area, eventName, new { parameter = "value" });
            string log = telemetryService.SessionLog;

            log.Should().Be(TelemetryTestService.EventNamePrefixString + area.ToString() + "/" + eventName +
                            "\r\n\t" + TelemetryTestService.PropertyNamePrefixString + area.ToString() + ".parameter : value\r\n");
        }
        /// <summary>
        /// Records event with parameters
        /// </summary>
        /// <param name="area">Telemetry area name such as 'Toolbox'.</param>
        /// <param name="eventName">Event name.</param>
        /// <param name="parameters">
        /// Either string/object dictionary or anonymous
        /// collection of string/object pairs.
        /// </param>
        /// <summary>
        public void ReportEvent(TelemetryArea area, string eventName, object parameters = null) {
            Check.ArgumentStringNullOrEmpty("eventName", eventName);

            string completeEventName = MakeEventName(area, eventName);
            if (parameters == null) {
                this.TelemetryRecorder.RecordEvent(completeEventName);
            } else if (parameters is string) {
                this.TelemetryRecorder.RecordEvent(completeEventName, parameters as string);
            } else {
                IDictionary<string, object> dict = DictionaryExtension.FromAnonymousObject(parameters);
                IDictionary<string, object> dictWithPrefix = new Dictionary<string, object>();

                foreach (KeyValuePair<string, object> kvp in dict) {
                    Check.ArgumentStringNullOrEmpty("parameterName", kvp.Key);
                    dictWithPrefix[this.PropertyNamePrefix + area.ToString() + "." + kvp.Key] = kvp.Value ?? string.Empty;
                }
                this.TelemetryRecorder.RecordEvent(completeEventName, dictWithPrefix);
            }
        }
 public void TelemetryTestService_SimpleEventTest(TelemetryArea area, string eventName) {
     var telemetryService = new TelemetryTestService();
     telemetryService.ReportEvent(area, eventName);
     string log = telemetryService.SessionLog;
     log.Should().Be(TelemetryTestService.EventNamePrefixString + area.ToString() + "/" + eventName + "\r\n");
 }
Esempio n. 7
0
 private string MakeEventName(TelemetryArea area, string eventName)
 {
     return(this.EventNamePrefix + area.ToString() + "/" + eventName);
 }
Esempio n. 8
0
 public void ReportEvent(TelemetryArea area, string eventName, object parameters = null)
 {
 }
 private string MakeEventName(TelemetryArea area, string eventName) {
     return this.EventNamePrefix + area.ToString() + "/" + eventName;
 }