コード例 #1
0
        private ChartDataModel GetData(ChartDataModel data)
        {
            var from   = data?.TimeInterval.From; //sets minimum
            var to     = data?.TimeInterval.To;   //sets maximum
            var result = new ChartDataModel();

            using (var db = new TemperatureContext())
            {
                var all = db.TemperatureData.ToList();
                result.Temps = all
                               .Where(temperatureData => temperatureData.Date >= from && temperatureData.Date <= to)
                               .OrderBy(temperatureData => temperatureData.Date)
                               .Select(temperatureData => new DataPointModel {
                    Date = temperatureData.Date, Y = temperatureData.Temperature
                })
                               .ToList();
                result.Hums = all
                              .Where(temperatureData => temperatureData.Date >= from && temperatureData.Date <= to)
                              .OrderBy(temperatureData => temperatureData.Date)
                              .Select(temperatureData => new DataPointModel {
                    Date = temperatureData.Date, Y = temperatureData.Humidity
                })
                              .ToList();
            }

            return(result);
        }
コード例 #2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            app.UseStaticFiles();

            TemperatureContext temperatureContext = app.ApplicationServices.GetRequiredService <TemperatureContext>();

            if (!env.IsProduction())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
                temperatureContext.Seed(false);
            }
            else if (!temperatureContext.TemperatureReads.Any())
            {
                temperatureContext.Seed(true);
            }

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Temp}/{action=Index}");
            });
        }
コード例 #3
0
        private static TemperatureContext CreateTemperatureContext()
        {
            var options = new DbContextOptionsBuilder <TemperatureContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;
            var temperatureContext = new TemperatureContext(options);

            return(temperatureContext);
        }
コード例 #4
0
        public TemperatureController(TemperatureContext context)
        {
            _context = context;

            if (_context.TemperatureItems.Count() == 0)
            {
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "London", Date = new DateTime(2018, 1, 1), Temperature = 6
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "London", Date = new DateTime(2018, 1, 2), Temperature = 8
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "London", Date = new DateTime(2018, 1, 3), Temperature = 4
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "New York", Date = new DateTime(2018, 1, 2), Temperature = 1
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "New York", Date = new DateTime(2018, 1, 3), Temperature = 3
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "Johannesburg", Date = new DateTime(2018, 1, 4), Temperature = 20
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "Johannesburg", Date = new DateTime(2018, 1, 3), Temperature = 20
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "Johannesburg", Date = new DateTime(2018, 1, 6), Temperature = 23
                });
                _context.TemperatureItems.Add(new TemperatureItem {
                    Location = "Johannesburg", Date = new DateTime(2018, 1, 5), Temperature = 22
                });


                _context.SaveChanges();
            }
        }
コード例 #5
0
 private bool SaveData(TemperatureRestData value)
 {
     try
     {
         using (var db = new TemperatureContext())
         {
             var data = new TemperatureData()
             {
                 Date        = value.Date,
                 Humidity    = value.Humidity,
                 Location    = value.Location,
                 Temperature = value.Temperature
             };
             db.TemperatureData.Add(data);
             db.SaveChanges();
         }
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }
コード例 #6
0
 public LocationRepository(TemperatureContext temperatureContext) : base(temperatureContext)
 {
 }
コード例 #7
0
 public TemperatureController(TemperatureContext context)
 {
     _context = context; // Apagar em breve
     _process = new TemperatureProcess(_context);
 }
コード例 #8
0
 public DeviceController(TemperatureContext context)
 {
     _context = context;
 }
コード例 #9
0
 public WebClientController(ICachingService cachingService, TemperatureContext temperatureContext)
 {
     _cachingService     = cachingService ?? throw new ArgumentNullException(nameof(cachingService));
     _temperatureContext = temperatureContext ?? throw new ArgumentNullException(nameof(temperatureContext));
 }
コード例 #10
0
 public TempDataController(TemperatureContext context)
 {
     _context = context;
 }
コード例 #11
0
 public TemperatureProcess(TemperatureContext context)
 {
     _context = context;
     _service = new OpenWeatherMapService();
 }
コード例 #12
0
        public static void SeedTestData(TemperatureContext context)
        {
            if (context.Devices.Any())
            {
                return;
            }

            var devices = new Device[]
            {
                new Device {
                    Location = "Garage", Name = "bt1234"
                },
                new Device {
                    Location = "Living Room", Name = "burglgrub"
                },
                new Device {
                    Location = "Stairs", Name = "BOULder4"
                },
            };

            foreach (var d in devices)
            {
                context.Devices.Add(d);
            }
            context.SaveChanges();

            var temperatureItems = new TemperatureItem[]
            {
                new TemperatureItem {
                    Temperature = 12.34, Device = devices[0], Timestamp = DateTime.Parse("2017-12-01 12:34:56")
                },
                new TemperatureItem {
                    Temperature = 13.34, Device = devices[1], Timestamp = DateTime.Parse("2017-12-01 12:35:56")
                },
                new TemperatureItem {
                    Temperature = 14.34, Device = devices[2], Timestamp = DateTime.Parse("2017-12-01 12:36:56")
                },
                new TemperatureItem {
                    Temperature = 15.34, Device = devices[0], Timestamp = DateTime.Parse("2017-12-01 12:37:56")
                },
                new TemperatureItem {
                    Temperature = 16.34, Device = devices[1], Timestamp = DateTime.Parse("2017-12-01 12:38:56")
                },
                new TemperatureItem {
                    Temperature = 17.34, Device = devices[2], Timestamp = DateTime.Parse("2017-12-01 12:39:56")
                },
                new TemperatureItem {
                    Temperature = 18.34, Device = devices[0], Timestamp = DateTime.Parse("2017-12-01 12:40:56")
                },
                new TemperatureItem {
                    Temperature = 19.34, Device = devices[1], Timestamp = DateTime.Parse("2017-12-01 12:41:56")
                },
                new TemperatureItem {
                    Temperature = 20.34, Device = devices[2], Timestamp = DateTime.Parse("2017-12-01 12:42:56")
                },
            };

            foreach (var t in temperatureItems)
            {
                context.TemperatureItems.Add(t);
            }
            context.SaveChanges();
        }
コード例 #13
0
 public DeviceRepository(TemperatureContext temperatureContext) : base(temperatureContext)
 {
 }
コード例 #14
0
 public SensorRepository(TemperatureContext temperatureContext) : base(temperatureContext)
 {
 }