private void CalculateNewAverageTemperature(TemperatureMeasurement newMeasurement) { _degreeSum = _degreeSum + newMeasurement.Value; _degreeCounter++; _averageDegree = _degreeSum / _degreeCounter; _eventAggregator.GetEvent <NewAverageTemperature>().Publish(new AverageTemperature { Value = _averageDegree }); }
public async Task <Unit> Handle(StartTemperatureMeasurement command, CancellationToken cancellationToken) { var reservation = TemperatureMeasurement.Start( command.MeasurementId ); await repository.Add(reservation, cancellationToken); return(Unit.Value); }
private void NewTemperatureMeasurement(TemperatureMeasurement newMeasurement) { var newValue = newMeasurement.Value; if (_currenTemperatureUnit == TemperatureUnit.Fahrenheit) { newValue = UnitConverter.IntoFahrenheit(newValue); } Temperature = newValue.ToString("F"); }
public void SetTemperatureOnHealthVault(double tempValue) { try { if (!_isProvisioned) { MessageBox.Show("Please provision application first"); return; } HealthClientAuthorizedConnection connection = HealthClientApplication.CreateAuthorizedConnection(PersonId); HealthRecordAccessor accessor = new HealthRecordAccessor(connection, RecordId); TemperatureMeasurement temperature = new TemperatureMeasurement(tempValue); VitalSigns vitalSign = new VitalSigns(); //generate random date DateTime startDate = new DateTime(2018, 1, 1); DateTime endDate = new DateTime(2018, 12, 30); TimeSpan timeSpan = endDate - startDate; var randomTest = new Random(); TimeSpan newSpan = new TimeSpan(0, randomTest.Next(0, (int)timeSpan.TotalMinutes), 0); DateTime newDate = startDate + newSpan; //set time now //vitalSign.When = new HealthServiceDateTime(DateTime.UtcNow); vitalSign.When = new HealthServiceDateTime(newDate); CodableValue codableValue = new CodableValue(); codableValue.Text = "celsius"; VitalSignsResultType vitalSignsResultType = new VitalSignsResultType(); vitalSignsResultType.Unit = codableValue; vitalSignsResultType.TextValue = "Temperature"; vitalSignsResultType.Title.Text = "Temperature"; vitalSignsResultType.Value = tempValue; vitalSign.VitalSignsResults.Add(vitalSignsResultType); accessor.NewItem(vitalSign); } catch (Exception ex) { throw; } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } TemperatureMeasurement = await _context.TemperatureMeasurement.FirstOrDefaultAsync(m => m.Id == id); if (TemperatureMeasurement == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> ReceiveData(TemperatureMeasurement temperatureMeasurement) { if (!ModelState.IsValid) { return(BadRequest()); } if (ShouldFail()) { _logger.LogInformation("Processing request intentionally failed"); return(StatusCode(500)); } await StoreData(temperatureMeasurement); return(Ok()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } TemperatureMeasurement = await _context.TemperatureMeasurement.FindAsync(id); if (TemperatureMeasurement != null) { _context.TemperatureMeasurement.Remove(TemperatureMeasurement); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public Temperature(TemperatureMeasurement measurement, RangeSide rangeSide, string value) { Measurement = measurement; RangeSide = rangeSide; Value = value; }
public Temperature(TemperatureMeasurement measurement, long value, long timestamp) : base(timestamp) { Measurement = measurement; Value = value; }
private async Task StoreData(TemperatureMeasurement measurement) { await System.IO.File.AppendAllTextAsync("output.txt", measurement.ToString() + Environment.NewLine); }
/// <summary> /// Populates the data for the length from the XML. /// </summary> /// /// <param name="navigator"> /// The XML node representing the length. /// </param> /// /// <exception cref="ArgumentNullException"> /// The <paramref name="navigator"/> parameter is <b>null</b>. /// </exception> /// public override void ParseXml(XPathNavigator navigator) { Validator.ThrowIfNavigatorNull(navigator); XPathNavigator modeNav = navigator.SelectSingleNode("mode"); _mode.Clear(); if (modeNav != null) { _mode.ParseXml(modeNav); } XPathNavigator distanceNav = navigator.SelectSingleNode("distance"); if (distanceNav != null) { _distance = new Length(); _distance.ParseXml(distanceNav); } _minutes = XPathHelper.GetOptNavValueAsDouble(navigator, "minutes"); int? intensity = XPathHelper.GetOptNavValueAsInt(navigator, "intensity"); if (intensity != null) { _intensity = (RelativeRating)((int)intensity); } _peakHr = XPathHelper.GetOptNavValueAsInt(navigator, "peak-heartrate"); _averageHr = XPathHelper.GetOptNavValueAsInt(navigator, "avg-heartrate"); _minHr = XPathHelper.GetOptNavValueAsInt(navigator, "min-heartrate"); _energy = XPathHelper.GetOptNavValueAsDouble(navigator, "energy"); _energyFromFat = XPathHelper.GetOptNavValueAsDouble(navigator, "energy-from-fat"); _peakSpeed = XPathHelper.GetOptNavValue<SpeedMeasurement>( navigator, "peak-speed"); _averageSpeed = XPathHelper.GetOptNavValue<SpeedMeasurement>( navigator, "avg-speed"); _minSpeed = XPathHelper.GetOptNavValue<SpeedMeasurement>( navigator, "min-speed"); _peakPace = XPathHelper.GetOptNavValue<PaceMeasurement>( navigator, "peak-pace"); _averagePace = XPathHelper.GetOptNavValue<PaceMeasurement>( navigator, "avg-pace"); _minPace = XPathHelper.GetOptNavValue<PaceMeasurement>( navigator, "min-pace"); _peakPower = XPathHelper.GetOptNavValue<PowerMeasurement>( navigator, "peak-power"); _averagePower = XPathHelper.GetOptNavValue<PowerMeasurement>( navigator, "avg-power"); _minPower = XPathHelper.GetOptNavValue<PowerMeasurement>( navigator, "min-power"); _peakTorque = XPathHelper.GetOptNavValue<TorqueMeasurement>( navigator, "peak-torque"); _averageTorque = XPathHelper.GetOptNavValue<TorqueMeasurement>( navigator, "avg-torque"); _minTorque = XPathHelper.GetOptNavValue<TorqueMeasurement>( navigator, "min-torque"); _leftRightBalance = XPathHelper.GetOptNavValueAsDouble( navigator, "left-right-balance"); _peakCadence = XPathHelper.GetOptNavValueAsDouble(navigator, "peak-cadence"); _averageCadence = XPathHelper.GetOptNavValueAsDouble(navigator, "avg-cadence"); _minCadence = XPathHelper.GetOptNavValueAsDouble(navigator, "min-cadence"); _peakTemperature = XPathHelper.GetOptNavValue<TemperatureMeasurement>( navigator, "peak-temperature"); _averageTemperature = XPathHelper.GetOptNavValue<TemperatureMeasurement>( navigator, "avg-temperature"); _minTemperature = XPathHelper.GetOptNavValue<TemperatureMeasurement>( navigator, "min-temperature"); _peakAltitude = XPathHelper.GetOptNavValue<AltitudeMeasurement>( navigator, "peak-altitude"); _averageAltitude = XPathHelper.GetOptNavValue<AltitudeMeasurement>( navigator, "avg-altitude"); _minAltitude = XPathHelper.GetOptNavValue<AltitudeMeasurement>( navigator, "min-altitude"); _elevationGain = XPathHelper.GetOptNavValue<Length>( navigator, "elevation-gain"); _elevationLoss = XPathHelper.GetOptNavValue<Length>( navigator, "elevation-loss"); _numberOfSteps = XPathHelper.GetOptNavValueAsInt( navigator, "number-of-steps"); _numberOfAerobicSteps = XPathHelper.GetOptNavValueAsInt( navigator, "number-of-aerobic-steps"); _aerobicStepMinutes = XPathHelper.GetOptNavValueAsDouble( navigator, "aerobic-step-minutes"); }
public async Task SetUp() { equalityComparer = EqualityComparerFactory.Create <MeasurementStatisticsModel>(x => x.MeasurementDateTime.Value !.GetHashCode(), (x, y) => Math.Abs(x.Value.Value - y.Value.Value) < 10e-5 && x.MeasurementDateTime == y.MeasurementDateTime); var sensorType = await GetAnyAsync <SensorType>(); var batteryPowerSourceType = await GetAnyAsync <BatteryPowerSourceType>(); place = await GetAnyAsync <Place>(); var sensor = new Sensor() { BatteryPowerSourceTypeId = batteryPowerSourceType.Id, PlaceId = place.Id, SensorTypeId = sensorType.Id, MinimumRequiredVoltage = 3 }; DbContext.Add(sensor); var measurement1 = new TemperatureMeasurement() { MeasurementDateTime = DateTimeProvider.Today.AddDays(-3), PlaceId = place.Id, SensorId = sensor.Id, Temperature = 20 }; DbContext.Add(measurement1); var measurement2 = new TemperatureMeasurement() { MeasurementDateTime = DateTimeProvider.Today.AddDays(-3), PlaceId = place.Id, SensorId = sensor.Id, Temperature = 22 }; DbContext.Add(measurement2); var measurement3 = new TemperatureMeasurement() { MeasurementDateTime = DateTimeProvider.Today.AddDays(-2), PlaceId = place.Id, SensorId = sensor.Id, Temperature = 25 }; DbContext.Add(measurement3); var measurement4 = new TemperatureMeasurement() { MeasurementDateTime = DateTimeProvider.Today.AddDays(-1), PlaceId = place.Id, SensorId = sensor.Id, Temperature = 30 }; DbContext.Add(measurement4); var measurement5 = new TemperatureMeasurement() { MeasurementDateTime = DateTimeProvider.Today.AddDays(-1), PlaceId = place.Id, SensorId = sensor.Id, Temperature = 24 }; DbContext.Add(measurement5); await DbContext.SaveChangesAsync(); var appDbContext = new SmartHomeAppDbContext(DbContext); temperatureMeasurementRepository = new TemperatureMeasurementRepository(appDbContext, Mapper, DateTimeProvider); }
private async Task CreateInitialData(SmartHomeDbContext context, IDateTimeProvider dateTimeProvider) { var adminUser = new User() { Email = "*****@*****.**", UserName = "******", NormalizedEmail = "*****@*****.**", NormalizedUserName = "******", PasswordHash = "asdfghjkl", }; var user = new User() { Email = "*****@*****.**", UserName = "******", NormalizedEmail = "*****@*****.**", NormalizedUserName = "******", PasswordHash = "asdfghjkl", }; context.Add(adminUser); context.Add(user); var fileView = new Permission() { Name = "File.View" }; var fileEdit = new Permission() { Name = "File.Edit" }; var measurementTemperatureView = new Permission() { Name = "Measurement.Temperature.View" }; var measurementTemperatureEdit = new Permission() { Name = "Measurement.Temperature.Edit" }; context.Add(fileView); context.Add(fileEdit); context.Add(measurementTemperatureView); context.Add(measurementTemperatureEdit); var bathroom = new Place() { Name = "Bathroom", Note = "Bathroom note" }; var livingRoom = new Place() { Name = "Living room" }; context.Add(bathroom); context.Add(livingRoom); var adminRole = new Role() { Name = "Admin", NormalizedName = "Admin" }; var userRole = new Role() { Name = "User", NormalizedName = "User" }; context.Add(adminRole); context.Add(userRole); context.Add(new IdentityUserRole <long>() { RoleId = adminRole.Id, UserId = adminUser.Id }); context.Add(new IdentityUserRole <long>() { RoleId = userRole.Id, UserId = user.Id }); context.Add(new RolePermission() { PermissionId = fileView.Id, RoleId = adminRole.Id }); context.Add(new RolePermission() { PermissionId = fileEdit.Id, RoleId = adminRole.Id }); context.Add(new RolePermission() { PermissionId = measurementTemperatureView.Id, RoleId = adminRole.Id }); context.Add(new RolePermission() { PermissionId = measurementTemperatureEdit.Id, RoleId = adminRole.Id }); context.Add(new RolePermission() { PermissionId = measurementTemperatureView.Id, RoleId = userRole.Id }); context.Add(new RolePermission() { PermissionId = fileView.Id, RoleId = userRole.Id }); context.Add(new UserPermission() { PermissionId = measurementTemperatureEdit.Id, UserId = user.Id }); // enumerations var dht11SensorType = new SensorType() { Name = "DHT11", Description = "Humidity and temperature sensor." }; context.Add(dht11SensorType); var alkalineBatteryPowerSourceType = new BatteryPowerSourceType() { BatteryType = BatteryType.Alkaline, MaximumVoltage = 4.5, MinimumVoltage = 3.3, Name = "Alkaline 3x1.5" }; context.Add(alkalineBatteryPowerSourceType); var sensor = new Sensor() { BatteryPowerSourceTypeId = alkalineBatteryPowerSourceType.Id, MinimumRequiredVoltage = 3, PlaceId = bathroom.Id, SensorTypeId = dht11SensorType.Id, Name = "DHT11 sensor" }; context.Add(sensor); var measurement = new TemperatureMeasurement() { MeasurementDateTime = dateTimeProvider.Now.AddYears(-3), PlaceId = bathroom.Id, SensorId = sensor.Id, Temperature = 30 }; context.Add(measurement); measurement = new TemperatureMeasurement() { MeasurementDateTime = dateTimeProvider.Now.AddYears(-2), PlaceId = livingRoom.Id, SensorId = sensor.Id, Temperature = 24 }; context.Add(measurement); await context.SaveChangesAsync(); }