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));
        }
Пример #2
0
        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)));
            }
        }