Example #1
0
        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);
        }
Example #2
0
        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);
                }
            }
        }