public IActionResult Get([FromQuery] Value value)
        {
            var data = new ApplianceRepository(_context).FindByIsBeingConfiguredAndHouseHold(true, value.HouseHoldId);

            if (data != null)
            {
                var pattern = new AppliancePatternRepository(_context).Add(new AppliancePattern
                {
                    ApplianceId = data.Id,
                    DateCreated = DateTime.Now,
                    Current     = value.Current / 10,
                    Power       = (value.Current * value.Voltage) / 10000,
                    FormFactor  = value.FormFactor,
                });
                _hubContext.Clients.All.SendAsync(BroadcastHubMethod.AppliancePattern.GetEnumDescription(), pattern);
                data.OnPower = true;
                new ApplianceRepository(_context).Update(data.Id, data);
            }
            var sensorReadingRepository = new SensorReadingRepository(_context);
            var sensor = sensorReadingRepository.Add(new SensorReading
            {
                Current     = value.Current / 10,
                DateCreated = DateTime.Now,
                Power       = (value.Current * value.Voltage) / 10000,
                FormFactor  = value.FormFactor
            });

            _hubContext.Clients.All.SendAsync(BroadcastHubMethod.AppliancePower.GetEnumDescription(), sensor);
            _hubContext.Clients.All.SendAsync(BroadcastHubMethod.CurrentPower.GetEnumDescription(),
                                              (sensorReadingRepository.Find().ToList().Sum(a => a.Current) * value.Voltage) / 1000);
            return(Ok());
        }
Beispiel #2
0
        public SensorReadingRepositoryTests()
        {
            _sensorCacheMock = new Mock <ISensorCacheReader>();
            _sensorCacheMock.Setup(sc => sc.GetAll())
            .Returns(SensorReadingsTestData);

            _sensorReadingRepository = new SensorReadingRepository(_sensorCacheMock.Object);
        }