Beispiel #1
0
        public static async Task Push(double kwh, double soFarToday, double soFarYesterday, double last24h, double avgYesterday, decimal rDollars, string url)
        {
            const string timeFormat = "yyyy-MM-ddTHH:mm:ss.fffZ"; // Time format required by Power BI

            var max = (int)Math.Ceiling(kwh);

            if (max < 4)
            {
                max = 4;
            }

            var model = new PowerBIModel
            {
                kwh                   = kwh,
                measuretime           = DateTime.UtcNow.ToString(timeFormat),
                kwhday                = kwh * 24,
                maxvalue              = max,
                AverageSoFarYesterday = soFarYesterday,
                AverageLast24Hours    = last24h,
                AverageSoFarToday     = soFarToday,
                AverageYesterday      = avgYesterday,
                CurrentDollars        = rDollars
            };

            await PushToPowerBi(model, url);
        }
Beispiel #2
0
        static async Task PushToPowerBi(PowerBIModel model, string url)
        {
            var ser = JsonConvert.SerializeObject(model);

            Console.WriteLine($"Pushing: {ser}");

            var client = new HttpClient();

            HttpContent         content  = new StringContent(ser);
            HttpResponseMessage response = await client.PostAsync(url, content);
        }
Beispiel #3
0
        public static async Task Push(string text, string url)
        {
            const string timeFormat = "yyyy-MM-ddTHH:mm:ss.fffZ"; // Time format required by Power BI

            var model = new PowerBIModel
            {
                StatusText  = text,
                measuretime = DateTime.UtcNow.ToString(timeFormat),
            };

            await PushToPowerBi(model, url);
        }