private async Task <string> GetUserDeviceId() { var userDeviceKey = string.Empty; var userId = User.Identity.GetUserId(); using (var context = IoTDbContext.Create()) { var device = await context.Devices.FirstOrDefaultAsync(d => d.ApplicationUserId == userId); userDeviceKey = device.Key; } return(userDeviceKey); }
public async Task NotifyClient(TemperatureData temperature) { using (var context = IoTDbContext.Create()) { var user = await context.Users.FirstOrDefaultAsync(u => u.Devices.Any(d => d.Key == temperature.DeviceId)); if (Connections.UserExists(user.Id)) { var hubContext = GlobalHost.ConnectionManager.GetHubContext <TemperatureHub>(); var connId = Connections.GetConnections(user.Id).ToList(); hubContext.Clients.Clients(connId).receiveTemperature(temperature); } } }