コード例 #1
0
        public virtual async Task <T> AddAsync(T t)
        {
            _context.Set <T>().Add(t);
            await _context.SaveChangesAsync();

            return(t);
        }
コード例 #2
0
        public async Task <IActionResult> Index(double kwh)
        {
            var result = kwh;

            var resultDay = result * 24;

            if (resultDay < 0)
            {
                resultDay = 0;
            }
            decimal resultDollars = ((decimal)resultDay * 28.52M) / 100M;
            var     rString       = string.Format("{0:0.00}", result);
            var     rStringDay    = string.Format("{0:0.00}", resultDay);
            var     rDollars      = resultDollars.ToString("C0");


            Console.WriteLine($"{rString}kwh -> {rStringDay} kwh per day -> {rDollars} per day @ {DateTime.Now.ToString()}");



            await _context.PowerReadings.AddAsync(new PowerReading
            {
                KilowattHours      = result,
                DailyKilowattHours = result * 24,
                MeasureTime        = DateTime.Now
            });

            await _context.SaveChangesAsync();

            var averageSoFarYesterday = await _databaseService.AverageSoFarYesterday();

            var averageSoFarToday = await _databaseService.AverageSoFarToday();

            var averageLast24Hours = await _databaseService.AverageLast24Hours();

            var averageYesterday = await _databaseService.AverageYesterday();

            await PowerBIHelper.Push(result,
                                     averageSoFarToday,
                                     averageSoFarYesterday,
                                     averageLast24Hours,
                                     averageYesterday,
                                     resultDollars,
                                     _powerOptions.Value.PowerBiUrl);

            return(Ok(result));
        }