public async Task ProccesMessage(MQTTMessageDTO message) { _logger.LogInformation("Received message. {@Message}", message); await Task.Run(() => { var data = Serializer.DeserializeToObject <RawSensorData>(message.Payload); var spotName = data.Name; if (spotName == null || string.IsNullOrEmpty(spotName)) { _logger.LogError("Message received with empty spotName"); return; } var cachedSpot = _cache.GetOrCreate(spotName, () => { AddIdToWatchedEntries(spotName); return(new SpotData() { SensorDevui = data.Deveui, Name = data.Name, ParkEntries = new ConcurrentBag <ParkEntry>() }); }); cachedSpot.ParkEntries.Add(new ParkEntry() { TimeStamp = UnixTimestampToDateTime(data.Timestamp), //ak 1, stojí tam auto Parked = data.Status == 1 }); }); }
public abstract Task HandleMessageAsync(MQTTMessageDTO arg);
public override async Task HandleMessageAsync(MQTTMessageDTO arg) { await _serviceFactory.CreateScope().ServiceProvider.GetService <IMQTTDataHandler>().ProccesMessage(arg); }
public MQTTMessageReceivedGateResponse(MQTTMessageDTO message, bool succes = false) : base(succes) { Message = message; }