Example #1
0
        protected override void OnSnapshotOffer(WaterReservoirState state)
        {
            var sensors = state.Sensors;

            foreach (var sensor in sensors)
            {
                if (Context.Child(sensor.Tag).IsNobody())
                {
                    var sensorState = new SensorState(sensor.SensorId, sensor.Tag, sensor.Role);
                    Context.ActorOf(SensorActor.Prop(new SensorHandler(), sensorState, sensor.Tag, _connectionString), sensor.Tag);
                }
            }
            base.OnSnapshotOffer(state);
        }
Example #2
0
        private static async Task <SensorActor> CreateSensorActor()
        {
            var target = new SensorActor();

            PropertyInfo idProperty = typeof(ActorBase).GetProperty("Id");

            idProperty.SetValue(target, new ActorId(Guid.NewGuid()));

            PropertyInfo stateManagerProperty = typeof(SensorActor).GetProperty("StateManager");

            stateManagerProperty.SetValue(target, new MockActorStateManager());
            await target.InitializeActorState();

            return(target);
        }
Example #3
0
 protected override void OnPersist(IEvent persistedEvent, string commandid)
 {
     switch (persistedEvent)
     {
     case InstalledSensor installedSensor:
     {
         foreach (var sensor in installedSensor.Sensors)
         {
             if (Context.Child(sensor.Tag).IsNobody())
             {
                 var sensorState = new SensorState(sensor.SensorId, sensor.Tag, sensor.Role);
                 Context.ActorOf(SensorActor.Prop(new SensorHandler(), sensorState, sensor.Tag, _connectionString), sensor.Tag);
             }
         }
     }
     break;
     }
     base.OnPersist(persistedEvent, commandid);
 }