private void GetSensorsValuesAndUpdate(DateTime dt) { Logging.LogEvent(0, "ControlPanelUpdater", $"Updating main sensors values... DT = {dt:dd.MM.yyyy,HH:mm}"); try { label1.Text = sensorsText[0]; label2.Text = sensorsText[1]; label5.Text = sensorsText[2]; linkLabel1.Text = sensorsText[3]; label3.Text = sensorsText[4]; System.Collections.Generic.Dictionary <string, object> reqResult = HomeSensor.GetMainSensorsValues(dt); if (reqResult.Count > 0) { label1.Text = Convert.ToDouble(reqResult["temperature"]).ToString() + " °C / " + ((Convert.ToDouble(reqResult["temperature"]) * 9.00 / 5.00) + 32.00).ToString() + " °F"; sensorsToolTips[0].SetToolTip( label1, sensorsToolTips[0].ToolTipTitle + reqResult["datetime"].ToString() ); label2.Text = Convert.ToInt32(reqResult["humidity"]).ToString() + "%"; sensorsToolTips[1].SetToolTip( label2, sensorsToolTips[1].ToolTipTitle + reqResult["datetime"].ToString() ); } else { Logging.LogEvent( 2, "ControlPanelUpdater", $"The server did not return sensors values. DT={dt:dd.MM.yyyy HH:mm:ss}" ); } System.Collections.Generic.List <object> sqlReqWateringResult = DatabaseConnecting.ProcessSqlRequest( $"SELECT id, valdatetime, flowernum, state FROM `watering` " + $"WHERE valdatetime > ('{dt:yyyy-MM-dd}') " + $"AND valdatetime < DATE_ADD('{dt:yyyy-MM-dd}', INTERVAL 1 DAY) " + $"ORDER BY id DESC LIMIT 1" ); if (sqlReqWateringResult.Count > 0) { label3.Text += $" {Convert.ToDateTime(sqlReqWateringResult[1]):dd.MM.yyyy HH:mm:ss}"; } } catch (Exception ex) { Logging.LogEvent( 3, "ControlPanelUpdater", $"An error happened while updating main sensors values!\n{ex}" ); MessageBox.Show($"Произошла ошибка!\n{ex.Message}"); } }
private void button3_Click(object sender, EventArgs e) { if (showMainSensors) { Logging.LogEvent(1, "OtherSensors", "Hiding main sensors..."); GetSensorsValuesAndUpdate(dateTimePicker1.Value); showMainSensors = false; ChangeMainSensorsButtonToolTip(); } else { Logging.LogEvent(1, "OtherSensors", "Showing main sensors..."); try { List <HomeSensor> mainSensors = new List <HomeSensor>(); Dictionary <string, object> reqResult = HomeSensor.GetMainSensorsValues(dateTimePicker1.Value); mainSensors.Add(new HomeSensor( -1, Convert.ToDouble(reqResult["temperature"]), Convert.ToDateTime(reqResult["datetime"]), Languages.GetLocalizedString("Temperature", "Temperature") )); mainSensors.Add(new HomeSensor( -2, Convert.ToDouble(reqResult["humidity"]), Convert.ToDateTime(reqResult["datetime"]), Languages.GetLocalizedString("Humidity", "Humidity") )); dataGridView1.Rows.Clear(); foreach (HomeSensor shsensor in mainSensors) { string[] sensorValArr = new string[3] { shsensor.Dt.ToString(), shsensor.Name, shsensor.Value.ToString() }; dataGridView1.Rows.Add(sensorValArr); } GetSensorsValuesAndUpdate(dateTimePicker1.Value, false); showMainSensors = true; ChangeMainSensorsButtonToolTip(); } catch (Exception ex) { Logging.LogEvent( 3, "OtherSensors", $"An error happened while updating table with main and custom sensors!\n{ex}" ); } } }