Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void Run([IoTHubTrigger("messages/events", Connection = "IotHubConnection")]EventData message, ILogger log)
- {
- var sqlConn = Environment.GetEnvironmentVariable("SqlConnection");
- log.LogInformation($"C# Message :{Encoding.UTF8.GetString(message.Body.Array)}");
- using(SqlConnection conn = new SqlConnection(sqlConn))
- {
- //conn.Open();
- 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";
- var messageQuery = "INSERT INTO Messages (DeviceId, MessageId, Luminosity, Temperature, Humidity, Timestamp) VALUES (@returnedDeviceid, @MessageId, @Luminosity, @Temperature, @Humidity, @Timestamp)";
- string returnedDeviceId = null;
- var jsonObj = JsonConvert.DeserializeObject<DeviceMessageModel>(Encoding.UTF8.GetString(message.Body));
- conn.Open();
- using (var cmd = new SqlCommand(deviceQuery, conn))
- {
- cmd.Parameters.AddWithValue("@DeviceId", jsonObj.deviceId);
- cmd.Parameters.AddWithValue("@Latitude", jsonObj.location.latitude); // nestlad json
- cmd.Parameters.AddWithValue("@Longitude", jsonObj.location.longitude);
- returnedDeviceId = cmd.ExecuteScalar().ToString();
- }
- using (var cmd = new SqlCommand(messageQuery, conn))
- {
- cmd.Parameters.AddWithValue("@DeviceId", returnedDeviceId);
- cmd.Parameters.AddWithValue("@MessageId", jsonObj.messageId);
- cmd.Parameters.AddWithValue("@Luminosity", jsonObj.data.luminosity);
- cmd.Parameters.AddWithValue("@Temperature", jsonObj.data.temperature); // nestlad nestlad json
- cmd.Parameters.AddWithValue("@Humidity", jsonObj.data.humidity);
- cmd.Parameters.AddWithValue("@Timestamp", jsonObj.createdTime);
- cmd.ExecuteNonQuery();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement