//Send IoT Event-Messages into Azure EventHub
        public void SendIoTEvents(ConnectResponse ioTEvent)
        {
            var eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, eventHubName);
            try
            {
                MemoryStream ms = new MemoryStream();
                EventDataStructure DeviceEvent = new EventDataStructure();
                //DeviceEvent.event_type = ioTEvent.data.data.type;
                DeviceEvent.event_measurement_id = ioTEvent.data.data.id;
                DeviceEvent.event_source_id = ioTEvent.data.data.source.id;
                DeviceEvent.event_time = ioTEvent.data.data.time;
                DeviceEvent.event_measurement = new Dictionary<string, decimal>();
                switch (ioTEvent.data.data.type)
                {
                    case "certuss_Dampf":
                        DeviceEvent.event_type = "SteamSensor01";
                        DeviceEvent.event_measurement.Add("Pressure_" + ioTEvent.data.data.certuss_Dampf.Dampfdruck.unit, ioTEvent.data.data.certuss_Dampf.Dampfdruck.value);
                        DeviceEvent.event_measurement.Add("Power_" + ioTEvent.data.data.certuss_Dampf.Dampfleistung.unit, ioTEvent.data.data.certuss_Dampf.Dampfleistung.value);
                        DeviceEvent.event_measurement.Add("Target_" + ioTEvent.data.data.certuss_Dampf.Sollwert_Dampfdruck.unit, ioTEvent.data.data.certuss_Dampf.Sollwert_Dampfdruck.value);
                        DeviceEvent.event_measurement.Add("Temperature_" + ioTEvent.data.data.certuss_Dampf.Dampftemperatur.unit, ioTEvent.data.data.certuss_Dampf.Dampftemperatur.value);
                        break;
                    case "certuss_Dampfnetz":
                        DeviceEvent.event_type = "SteamSensor02";
                        DeviceEvent.event_measurement.Add("Pressure_" + ioTEvent.data.data.certuss_Dampfnetz.Dampfdruck.unit, ioTEvent.data.data.certuss_Dampfnetz.Dampfdruck.value);
                        break;
                    case "certuss_Flammenstrom":
                        DeviceEvent.event_type = "SteamSensor03";
                        DeviceEvent.event_measurement.Add("Status_" + ioTEvent.data.data.certuss_Flammenstrom.Flammenstrom.unit, ioTEvent.data.data.certuss_Flammenstrom.Flammenstrom.value);
                        break;
                    case "certuss_Gleitschieberventil":
                        DeviceEvent.event_type = "SteamSensor04";
                        DeviceEvent.event_measurement.Add("Status_" + ioTEvent.data.data.certuss_Gleitschieberventil.Gleitschieberventil.unit, ioTEvent.data.data.certuss_Gleitschieberventil.Gleitschieberventil.value);
                        break;
                    case "certuss_Kamin":
                        DeviceEvent.event_type = "SteamSensor05";
                        DeviceEvent.event_measurement.Add("Draught_" + ioTEvent.data.data.certuss_Kamin.Kaminzug.unit, ioTEvent.data.data.certuss_Kamin.Kaminzug.value);
                        DeviceEvent.event_measurement.Add("Pressure_" + ioTEvent.data.data.certuss_Kamin.Luftdruck_Aufstellraum.unit, ioTEvent.data.data.certuss_Kamin.Luftdruck_Aufstellraum.value);
                        DeviceEvent.event_measurement.Add("TemperatureIn_" + ioTEvent.data.data.certuss_Kamin.Lufteintrittstemperatur.unit, ioTEvent.data.data.certuss_Kamin.Lufteintrittstemperatur.value);
                        DeviceEvent.event_measurement.Add("TemperatureOut_" + ioTEvent.data.data.certuss_Kamin.Rauchgastemperatur.unit, ioTEvent.data.data.certuss_Kamin.Rauchgastemperatur.value);
                        break;
                    case "certuss_Kesselgroesse":
                        DeviceEvent.event_type = "SteamSensor06";
                        DeviceEvent.event_measurement.Add("Capacity_" + ioTEvent.data.data.certuss_Kesselgroesse.Kesselgroesse.unit, ioTEvent.data.data.certuss_Kesselgroesse.Kesselgroesse.value);
                        break;
                    case "certuss_LME7":
                        DeviceEvent.event_type = "SteamSensor07";
                        DeviceEvent.event_measurement.Add("Power_" + ioTEvent.data.data.certuss_LME7.Leistungswert.unit, ioTEvent.data.data.certuss_LME7.Leistungswert.value);
                        break;
                    case "certuss_Netzspannung":
                        DeviceEvent.event_type = "SteamSensor08";
                        DeviceEvent.event_measurement.Add("Voltage_" + ioTEvent.data.data.certuss_Netzspannung.Netzspannung_LME7.unit, ioTEvent.data.data.certuss_Netzspannung.Netzspannung_LME7.value);
                        break;
                    case "certuss_Schaltschrank":
                        DeviceEvent.event_type = "SteamSensor09";
                        DeviceEvent.event_measurement.Add("Temperature_" + ioTEvent.data.data.certuss_Schaltschrank.Temperatur.unit, ioTEvent.data.data.certuss_Schaltschrank.Temperatur.value);
                        break;
                    case "certuss_Speisung":
                        DeviceEvent.event_type = "SteamSensor10";
                        DeviceEvent.event_measurement.Add("Flow_" + ioTEvent.data.data.certuss_Speisung.Durchfluss.unit, ioTEvent.data.data.certuss_Speisung.Durchfluss.value);
                        DeviceEvent.event_measurement.Add("Power_" + ioTEvent.data.data.certuss_Speisung.Speisepumpe.unit, ioTEvent.data.data.certuss_Speisung.Speisepumpe.value);
                        DeviceEvent.event_measurement.Add("Target_" + ioTEvent.data.data.certuss_Speisung.Sollwert_Speisepumpe.unit, ioTEvent.data.data.certuss_Speisung.Sollwert_Speisepumpe.value);
                        DeviceEvent.event_measurement.Add("Pressure_" + ioTEvent.data.data.certuss_Speisung.Vordruck.unit, ioTEvent.data.data.certuss_Speisung.Vordruck.value);
                        DeviceEvent.event_measurement.Add("Temperature_" + ioTEvent.data.data.certuss_Speisung.Speisewassertemperatur_Behaelter_CVE.unit, ioTEvent.data.data.certuss_Speisung.Speisewassertemperatur_Behaelter_CVE.value);
                        DeviceEvent.event_measurement.Add("TemperatureIn_" + ioTEvent.data.data.certuss_Speisung.Speisewassertemperatur_Kesseleintritt.unit, ioTEvent.data.data.certuss_Speisung.Speisewassertemperatur_Kesseleintritt.value);
                        break;
                }
                if (DeviceEvent.event_type != null)
                {
                    DataContractJsonSerializer ser = new DataContractJsonSerializer(DeviceEvent.GetType());
                    ser.WriteObject(ms, DeviceEvent);
                    ServiceEventSource.Current.ServiceMessage(this, "Send to EventHub - {0} - {1}", DeviceEvent.event_type, DeviceEvent.event_time);
                    DeviceEvent = null;
                    ser = null;
                    String jsonIoTEvent = Encoding.UTF8.GetString(ms.ToArray());
                    if (jsonIoTEvent.Length != 0)
                    {
                        jsonIoTEvent = jsonIoTEvent.Replace("{\"event_measurement\":[", "{");
                        jsonIoTEvent = jsonIoTEvent.Replace("{\"Key\":\"", "\"");
                        jsonIoTEvent = jsonIoTEvent.Replace(",\"Value\":", ":");
                        jsonIoTEvent = jsonIoTEvent.Replace("},", ",");
                        jsonIoTEvent = jsonIoTEvent.Replace("}],", ",");
                        jsonIoTEvent = jsonIoTEvent.Replace("l\\/min", "l/min");

                        eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(jsonIoTEvent)));

                    }
                    jsonIoTEvent = null;
                }
                eventHubClient.Close();
                ms.Close();
            }
            catch (Exception e)
            {
                ServiceEventSource.Current.ServiceMessage(this, "Exception caught - {0} - unknown error during Send DeviceEvent to EventHub", System.Convert.ToString(e));
                //System.Diagnostics.Trace.WriteLine("Exception caught" + System.Convert.ToString(e), "Error");
            }
            return;
        }