public void PushDataToPlatform <T>(D2CAPI api, string deviceId, T message)
        {
            var toSend = JsonConvert.SerializeObject(message);

            using (var connection = GetConnection())
                using (var ingress = connection.CreateDataIngress())
                {
                    ingress.Push(IOTHUB_NAME, GetAPIName(api), deviceId, Encoding.UTF8.GetBytes(toSend));
                }
        }
        private string GetAPIName(D2CAPI api)
        {
            switch (api)
            {
            case D2CAPI.DeviceTree:
                return(DEVICETREE_API);

            case D2CAPI.Realtimes:
                return(REALTIMES_API);

            case D2CAPI.Trends:
                return(TRENDS_API);

            default:
                throw new Exception(string.Format("Undefined D@CAPI {0}", api));
            }
        }