protected async override Task Handle(UpdateDevice request, CancellationToken cancellationToken) { var device = await _deviceRepository.Get(request.Id); device.Enabled = request.Enabled; await _deviceRepository.Update(device); if (device.Enabled) { await _mqttService.SubscribeDevice(device.Id); } else { return; } if (request.HasOutsideTemperatureSensor is { })
async Task OnStarted() { using (var scope = _serviceScopeFactory.CreateScope()) { var deviceRepository = scope.ServiceProvider.GetService <IDeviceRepository>(); var devices = (await deviceRepository.FindAllEnabled()).Select(x => x.Id); if (!devices.Any()) { return; } foreach (var device in devices) { await _mqttService.SubscribeDevice(device); } } }