public HttpResponseMessage Get([FromUri] string id) { GetDeviceStatusReceived reponse = ActorSystemReferences.Actors.PlantCoordinatorActor.Ask <GetDeviceStatusReceived>(new GetDeviceStatus(id), TimeSpan.FromSeconds(10)).Result; return(Request.CreateResponse(HttpStatusCode.OK, reponse)); }
private void OnGetDeviceStatus(GetDeviceStatus msg) { IActorRef deviceActor = Context.Child(ActorSystemReferences.ActorNames.DeviceActorNamePrefix + msg.DeviceId); if (deviceActor.IsNobody()) { Sender.Tell(new GetDeviceStatusReceived(DeviceStateDto.Empty)); } else { GetDeviceStatusReceived result = deviceActor.Ask <GetDeviceStatusReceived>(msg).Result; Sender.Tell(new GetDeviceStatusReceived(new DeviceStateDto(result.DeviceState.DeviceId, result.DeviceState.CurrentState, result.DeviceState.TimeStamp))); } }