Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. public static void Run([IoTHubTrigger("messages/events", Connection = "IotHubConnection")]EventData message, ILogger log)
  2. {
  3. var sqlConn = Environment.GetEnvironmentVariable("SqlConnection");
  4. log.LogInformation($"C# Message :{Encoding.UTF8.GetString(message.Body.Array)}");
  5.  
  6. using(SqlConnection conn = new SqlConnection(sqlConn))
  7. {
  8. //conn.Open();
  9. var deviceQuery = "IF NOT EXISTS (SELECT 1 FROM DEVICES WHERE DeviceId = @DeviceId) INSERT INTO Devices (DeviceId, Latitude, Longitude) OUTPUT INSERTED.DeviceId VALUES (@DeviceId, @Latitude, @Longitude) ELSE SELECT DeviceId FROM DEVICES WHERE DeviceId = @DeviceId";
  10. var messageQuery = "INSERT INTO Messages (DeviceId, MessageId, Luminosity, Temperature, Humidity, Timestamp) VALUES (@returnedDeviceid, @MessageId, @Luminosity, @Temperature, @Humidity, @Timestamp)";
  11. string returnedDeviceId = null;
  12.  
  13. var jsonObj = JsonConvert.DeserializeObject<DeviceMessageModel>(Encoding.UTF8.GetString(message.Body));
  14.  
  15. conn.Open();
  16.  
  17. using (var cmd = new SqlCommand(deviceQuery, conn))
  18. {
  19. cmd.Parameters.AddWithValue("@DeviceId", jsonObj.deviceId);
  20. cmd.Parameters.AddWithValue("@Latitude", jsonObj.location.latitude); // nestlad json
  21. cmd.Parameters.AddWithValue("@Longitude", jsonObj.location.longitude);
  22. returnedDeviceId = cmd.ExecuteScalar().ToString();
  23. }
  24.  
  25. using (var cmd = new SqlCommand(messageQuery, conn))
  26. {
  27. cmd.Parameters.AddWithValue("@DeviceId", returnedDeviceId);
  28. cmd.Parameters.AddWithValue("@MessageId", jsonObj.messageId);
  29. cmd.Parameters.AddWithValue("@Luminosity", jsonObj.data.luminosity);
  30. cmd.Parameters.AddWithValue("@Temperature", jsonObj.data.temperature); // nestlad nestlad json
  31. cmd.Parameters.AddWithValue("@Humidity", jsonObj.data.humidity);
  32. cmd.Parameters.AddWithValue("@Timestamp", jsonObj.createdTime);
  33. cmd.ExecuteNonQuery();
  34. }
  35.  
  36.  
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement