public async Task ConnectToSignalRServer() { var token = await _restClient.GetToken( _settings.IdentityServerbaseUrl, _settings.AuthorizationCredentials); await _signalRClient.ConnectToSignalR(token, _settings.SignalRHubUrl); _signalRClient.ReceiveLightPoint += async(s, e) => { var lightPointStatus = new LightPointStatus() { Id = e.LightBulbId.ToString(), Status = e.Status }; string lightPointStatusPayload = JsonConvert.SerializeObject(lightPointStatus); await _mqttServer.PublishMessage("lightChange", lightPointStatusPayload); }; _signalRClient.RestOfLightPoint += async(s, e) => { await _mqttServer.PublishMessage("reset", e.LightPointId.ToString()); }; _signalRClient.HardRestOfLightPoint += async(s, e) => { await _mqttServer.PublishMessage("hardReset", e.LightPointId.ToString()); }; }
protected override async Task Handle(ReceiveLightPointEvent request, CancellationToken cancellationToken) { var lightPointStatus = new LightPointStatus() { Id = request.LightBulbId.ToString(), Status = request.Status }; string lightPointStatusPayload = JsonConvert.SerializeObject(lightPointStatus); await _mqttServer.PublishMessage("lightChange", lightPointStatusPayload); }
private async Task SwitchLight(string payload) { LightPointStatus lightPointStatus = JsonConvert.DeserializeObject <LightPointStatus>(payload); await _signalRClient.InvokeSendStatusMethod(Guid.Parse(lightPointStatus.Id), lightPointStatus.Status); }