// Message handler private void OnSetDeviceStatus(SetDeviceStatus msg) { string uniqueDeviceActorName = ActorSystemReferences.ActorNames.DeviceMqttTranslatorActorNamePrefix + _deviceDto.DeviceId; IActorRef deviceActor = Context.Child(uniqueDeviceActorName); if (deviceActor.IsNobody()) { _mqttDeviceTranslatorActor = Context.ActorOf(Props.Create <DeviceMqttTranslatorActor>(_deviceDto.DeviceId), ActorSystemReferences.ActorNames.DeviceMqttTranslatorActorNamePrefix + _deviceDto.DeviceId); } _mqttDeviceTranslatorActor.Forward(msg); }
// Message handlers private void OnSetDeviceStatus(SetDeviceStatus msg) { string uniqueDeviceActorName = ActorSystemReferences.ActorNames.DeviceActorNamePrefix + msg.DeviceId; IActorRef deviceActorRef = Context.Child(uniqueDeviceActorName); if (deviceActorRef.IsNobody()) { Sender.Tell(new SetDeviceStatusReceived(unexistingDevice: true), Self); } else { deviceActorRef.Forward(msg); } }
public void SetDeviceStatus() { string expected = File.ReadAllText(Path.Combine(_requestsTestDataPath, "SetDeviceStatus.xml")); var request = new SetDeviceStatus { SessionId = "sid", DeviceID = "abcd1234", StatusType = TMobileDeviceStatusSet.Allowed }; var xml = request.ToXml().InnerXmlFormatted(); Assert.AreEqual(expected, xml); XmlDocument doc = new XmlDocument(); doc.LoadXml(File.ReadAllText(Path.Combine(_responsesTestDataPath, "SetDeviceStatus.xml"))); var response = request.FromHttpRequestResult(new HttpRequestResult { Response = doc.InnerXml }); Assert.AreEqual("result", response.Type); Assert.True(response.Success); }
private void OnSetDeviceStatus(SetDeviceStatus msg) { _sender = Sender; _client.Publish(DeviceTopic.SetDeviceState + "/" + _deviceId, (new MqttDeviceStateDto(msg.Status)).Serialize()); }