public SimulatorOfTemperatures(TemperatureDto temperature)
        {
            Temperature = temperature;

            _simulationTimer.Elapsed += SimulationTimer_Elapsed;
            _simulationTimer.Interval = 100;
        }
        public async Task <IActionResult> Put(int cityId, TemperatureDto temperatureDto)
        {
            if (cityId != temperatureDto.CityId)
            {
                return(BadRequest());
            }

            try
            {
                await _temperatureService.Modify(temperatureDto);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (_cityService.GetById(cityId) == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public Task <CityDto> Modify(TemperatureDto temperatureDto)
        {
            var existing = _cities.First(a => a.Id == temperatureDto.CityId);

            existing.Temperature = temperatureDto.Temperature;
            return(Task.FromResult(existing));
        }
Esempio n. 4
0
 public static TemperatureViewModel FromTemperatureDtoToTemperatureViewModel(TemperatureDto temperatureDto)
 {
     return(new TemperatureViewModel
     {
         CityId = temperatureDto.CityId,
         Temperature = temperatureDto.Temperature
     });
 }
Esempio n. 5
0
        public async Task <CityDto> Modify(TemperatureDto temperatureDto)
        {
            var city = await _cityRepository.GetById(temperatureDto.CityId);

            city.Temperature = temperatureDto.Temperature;
            await _cityRepository.Update(city);

            return(CityMappers.FromCityToCityDto(city));
        }
Esempio n. 6
0
        public async Task <TemperatureDto> GetTemperaturesAsync()
        {
            var ret = new TemperatureDto();

            ret.CpuTemp = (int)Computer.Hardware.FirstOrDefault(h => h.HardwareType == HardwareType.CPU)
                          .Sensors.FirstOrDefault(s => s.SensorType == SensorType.Temperature && s.Name == "CPU Package").Value.Value;

            return(await Task.FromResult(ret));
        }
Esempio n. 7
0
        public TemperatureDto GetTemperatures()
        {
            var ret = new TemperatureDto();

            ret.CpuTemp = (int)Computer.Hardware.FirstOrDefault(h => h.HardwareType == HardwareType.CPU)
                          .Sensors.FirstOrDefault(s => s.SensorType == SensorType.Temperature && s.Name == "CPU Package").Value.Value;

            return(ret);
        }
        public async Task <ActionResult <CityDto> > Post(int cityId, TemperatureDto temperatureDto)
        {
            if (cityId != temperatureDto.CityId)
            {
                return(BadRequest());
            }

            var cityDto = await _temperatureService.Modify(temperatureDto);

            return(CreatedAtAction("Get", new { cityId = cityDto.Id }, cityDto));
        }
        public async Task Add_InvalidObjectPassed_ReturnsBadRequest()
        {
            // Arrange
            var cityId = 0;

            var incorrectCityIdItem = new TemperatureDto
            {
                CityId      = 1,
                Temperature = 100
            };
            // Act
            var badResponse = await _controller.Post(cityId, incorrectCityIdItem);

            // Assert
            Assert.IsType <BadRequestResult>(badResponse.Result);
        }
Esempio n. 10
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            using I2cDevice i2c  = I2cDevice.Create(new I2cConnectionSettings(1, 0x27));
            using Pcf8574 driver = new Pcf8574(i2c);

            lcd = new Lcd1602(registerSelectPin: 0,
                              enablePin: 2,
                              dataPins: new int[] { 4, 5, 6, 7 },
                              backlightPin: 3,
                              backlightBrightness: 1f,
                              readWritePin: 1,
                              controller: new GpioController(PinNumberingScheme.Logical, driver));

            while (!stoppingToken.IsCancellationRequested)
            {
                TemperatureDto interiorTemp = await _temperatureReadingService.GetLatestInteriorReadingAsync();

                lcd.Clear();
                string output = string.Empty;

                DisplayLcdText(
                    interiorTemp != null ?
                    $"In: {interiorTemp.Fahrenheit.ToString()}F {interiorTemp.Celsius.ToString()}C" :
                    "No Data",
                    DateTime.Now.ToString("ddd MM/dd HH:mm")
                    );

                await Task.Delay(TimeSpan.FromSeconds(DelaySeconds), stoppingToken);

                TemperatureDto minInteriorTemp = await _temperatureReadingService.GetMinInteriorReadingAsync();

                TemperatureDto maxInteriorTemp = await _temperatureReadingService.GetMaxInteriorReadingAsync();

                output = string.Empty;

                DisplayLcdText(
                    minInteriorTemp != null ?
                    $"Min: {minInteriorTemp.Fahrenheit.ToString()}F {minInteriorTemp.Celsius.ToString()}C" :
                    string.Empty,
                    maxInteriorTemp != null ?
                    $"Max: {maxInteriorTemp.Fahrenheit.ToString()}F {maxInteriorTemp.Celsius.ToString()}C" :
                    string.Empty
                    );

                await Task.Delay(TimeSpan.FromSeconds(DelaySeconds), stoppingToken);
            }
        }
        public async Task Update_ValidObjectPassed_ReturnsCreatedResponse()
        {
            // Arrange
            var id = 1;

            var existingItem = new TemperatureDto
            {
                CityId      = 1,
                Temperature = 100
            };

            // Act
            var createdResponse = await _controller.Put(id, existingItem);

            // Assert
            Assert.IsType <NoContentResult>(createdResponse);
        }
        public async Task Add_ValidObjectPassed_ReturnsCreatedResponse()
        {
            // Arrange
            var cityId = 1;


            var testItem = new TemperatureDto
            {
                CityId      = 1,
                Temperature = 100
            };

            // Act
            var createdResponse = await _controller.Post(cityId, testItem);

            // Assert
            Assert.IsType <CreatedAtActionResult>(createdResponse.Result);
        }