Set Status to Alarm

This commit is contained in:
Marc Duiker 2023-03-06 18:00:04 +01:00
parent cdad270450
commit dadb2a821b
1 changed files with 8 additions and 4 deletions

View File

@ -67,16 +67,20 @@ internal class SmokeDetectorActor : Actor, ISmartDevice
public async Task DetectSmokeAsync() public async Task DetectSmokeAsync()
{ {
// TODO: Set Status to "Alarm" Console.WriteLine($"Smoke detected in ActorId: {this.Id}.");
var controllerActorId = new ActorId("controller"); var controllerActorId = new ActorId("controller");
var controllerActorType = "ControllerActor"; var controllerActorType = "ControllerActor";
var controllerProxy = ProxyFactory.CreateActorProxy<IController>(controllerActorId, controllerActorType); var controllerProxy = ProxyFactory.CreateActorProxy<IController>(controllerActorId, controllerActorType);
await controllerProxy.TriggerAlarmForAllDetectors(); await controllerProxy.TriggerAlarmForAllDetectors();
} }
public Task SoundAlarm() public async Task SoundAlarm()
{ {
Console.WriteLine($"ActorId: {this.Id} is sounding the alarm"); var smartDeviceData = await GetDataAsync();
return Task.CompletedTask; smartDeviceData.Status = "Alarm";
await SetDataAsync(smartDeviceData);
Console.WriteLine($"ActorId: {this.Id}, Status: {smartDeviceData.Status}.");
} }
} }