// 显示 PlugRTData private DataPointCollection GetPlugRTDataPointByDateTime(Int64 plugid, DateTime startDateTime, DateTime endDateTime, string itemStr) { try { bool success = false; DataTable dt = SmartPlugDAL.GetSelectedPlugRTDataByPlugIDandDateTime(plugid, startDateTime, endDateTime, itemStr + ",DateTime", SqliteDBPath, ref success); DataPointCollection dpc = new DataPointCollection(); if (success == true) { int dtrowcount = dt.Rows.Count; for (int i = 0; i < dtrowcount; i++) { DataPoint dp = new DataPoint() { XValue = dt.Rows[i]["DateTime"], YValue = Convert.ToDouble(dt.Rows[i][itemStr]) }; dpc.Add(dp); } return(dpc); } return(dpc); } catch (Exception ex) { //Do any logging operation here if necessary throw new Exception(ex.Message); } }
//删除插座记录 private void btnRemoveDev_Click(object sender, RoutedEventArgs e) { try { if (Add_IDTextBox.Text != "") { Int64 plugid = Convert.ToInt64(Add_IDTextBox.Text); bool success = SmartPlugDAL.DeletePlugDevice(plugid, SqliteDBPath); if (success == true) { RefreshPlugInfo(); //更新列表 MessageBox.Show("成功删除该插座!", "提示", MessageBoxButton.OK); AddedDeviceList.SelectedIndex = 0; } else { MessageBox.Show("无法删除该插座,请检查设置!", "提示", MessageBoxButton.OK); } } else { MessageBox.Show("请选择要删除的插座!", "提示", MessageBoxButton.OK); } } catch (ArgumentException ae) { MessageBox.Show(ae.Message + " \n\n" + ae.Source + "\n\n" + ae.StackTrace); } catch (Exception ex) { //Do any logging operation here if necessary throw new Exception(ex.Message); } }
//获取所有plug并显示 private void RefreshPlugInfo() { bool success = false; PlugDeviceTable = SmartPlugDAL.GetAllPlugDevice(SqliteDBPath, ref success); if (success == true) { int dtrowcount = PlugDeviceTable.Rows.Count; AddedDeviceList.Items.Clear(); DeviceList.Items.Clear(); DeviceScheList.Items.Clear(); for (int i = 0; i < dtrowcount; i++) { AddedDeviceList.Items.Add(PlugDeviceTable.Rows[i]["PlugName"].ToString()); DeviceList.Items.Add(PlugDeviceTable.Rows[i]["PlugName"].ToString()); DeviceScheList.Items.Add(PlugDeviceTable.Rows[i]["PlugName"].ToString()); } AddedDeviceList.SelectedIndex = 0; DeviceList.SelectedIndex = 0; DeviceScheList.SelectedIndex = 0; } else { MessageBox.Show("无法获取插座列表", "提示", MessageBoxButton.OK); } }
private void btnUpdateSche_Click(object sender, RoutedEventArgs e) { try { if (NightBudgetTextBox.Text == "" || MorningBudgetTextBox.Text == "" || AfternoonBudgetTextBox.Text == "" || EveningBudgetTextBox.Text == "") { MessageBox.Show("请输入预算使用的电能量!", "提示", MessageBoxButton.OK); return; } int selectindex = DeviceScheList.SelectedIndex; if (selectindex != -1) { PlugDevice plugdev = new PlugDevice(); plugdev.PlugID = Convert.ToInt64(PlugDeviceTable.Rows[selectindex]["PlugID"]); plugdev.NightBudget = Convert.ToSingle(NightBudgetTextBox.Text); plugdev.MorningBudget = Convert.ToSingle(MorningBudgetTextBox.Text); plugdev.AfternoonBudget = Convert.ToSingle(AfternoonBudgetTextBox.Text); plugdev.EveningBudget = Convert.ToSingle(AfternoonBudgetTextBox.Text); plugdev.NightSaving = NightSavingSwitch.IsChecked; plugdev.MorningSaving = MorningSavingSwitch.IsChecked; plugdev.AfternoonSaving = AfternoonSavingSwitch.IsChecked; plugdev.EveningSaving = EveningSavingSwitch.IsChecked; bool success = SmartPlugDAL.UpdatePlugScheduleInfoByPlugID(plugdev, SqliteDBPath); if (success == true) { PlugDeviceTable = SmartPlugDAL.GetAllPlugDevice(SqliteDBPath, ref success); BudgettedEnergy[0] = Convert.ToSingle(NightBudgetTextBox.Text); BudgettedEnergy[1] = Convert.ToSingle(MorningBudgetTextBox.Text); BudgettedEnergy[2] = Convert.ToSingle(AfternoonBudgetTextBox.Text); BudgettedEnergy[3] = Convert.ToSingle(EveningBudgetTextBox.Text); UpdateBudgettedUsedChart(); MessageBox.Show("更新成功!", "提示", MessageBoxButton.OK); } else { MessageBox.Show("无法更新,请检查设置!", "提示", MessageBoxButton.OK); } } } catch (ArgumentException ae) { MessageBox.Show(ae.Message + " \n\n" + ae.Source + "\n\n" + ae.StackTrace); } catch (Exception ex) { //Do any logging operation here if necessary throw new Exception(ex.Message); } }
//更新插座表 private void btnUpdateDev_Click(object sender, RoutedEventArgs e) { try { if (Add_IDTextBox.Text != "") { PlugDevice plugdev = new PlugDevice(); plugdev.PlugID = Convert.ToInt64(Add_IDTextBox.Text); plugdev.PlugName = Add_NameTextBox.Text; plugdev.PlugMac = Add_MACTextBox.Text; plugdev.UserCode = (UInt16)(256 * Convert.ToUInt16(Add_UserCodeTextBox1.Text) + Convert.ToUInt16(Add_UserCodeTextBox2.Text)); plugdev.Voltage = Convert.ToSingle(Add_VoltageTextBox.Text); plugdev.Power = Convert.ToSingle(Add_PowerTextBox.Text); plugdev.DayBudget = Convert.ToSingle(Add_BudgettedEnergyTextBox.Text); plugdev.Description = Add_DescriptionTextBox.Text; bool success = SmartPlugDAL.UpdatePlugBasicInfoByPlugID(plugdev, SqliteDBPath); if (success == true) { RefreshPlugInfo(); MessageBox.Show("更新成功!", "提示", MessageBoxButton.OK); } else { MessageBox.Show("更新失败,请检查设置!", "提示", MessageBoxButton.OK); } } } catch (ArgumentException ae) { MessageBox.Show(ae.Message + " \n\n" + ae.Source + "\n\n" + ae.StackTrace); } catch (Exception ex) { //Do any logging operation here if necessary throw new Exception(ex.Message); } }
private void SimulateDataTimer_Tick(object sender, EventArgs e) { Random _rand = new Random(DateTime.Now.Millisecond); PlugRTData plugrtdata = new PlugRTData(); uptime += 2; plugrtdata.PlugID = 3813057585; plugrtdata.UpTime = uptime; plugrtdata.V = _rand.Next(210, 230); plugrtdata.I = _rand.Next(0, 10); plugrtdata.P = _rand.Next(0, 2300); plugrtdata.Q1 = _rand.Next(0, 100); plugrtdata.S = _rand.Next(0, 2400); plugrtdata.S1 = _rand.Next(0, 2350); plugrtdata.PF = _rand.Next(0, 1); plugrtdata.PF1 = _rand.Next(0, 1); plugrtdata.SN = _rand.Next(0, 100); plugrtdata.N = _rand.Next(0, 100); plugrtdata.THDI = _rand.Next(0, 100); plugrtdata.ECounter = _rand.Next(0, 10); plugrtdata.PCounter = _rand.Next(0, 10); plugrtdata.Freq = 50; plugrtdata.RelayState = true; plugrtdata.TransmitInterval = 2; plugrtdata.AddDateTime = DateTime.Now; try { SmartPlugDAL.AddPlugRTData(plugrtdata, SqliteDBPath); } catch { } }
//添加插座 private void btnAddDev_Click(object sender, RoutedEventArgs e) { try { if (Add_NameTextBox.Text == "") { MessageBox.Show("建议不要将名称设置为空!", "提示", MessageBoxButton.OK); } if (Add_IDTextBox.Text == "") { MessageBox.Show("ID不能为空!", "提示", MessageBoxButton.OK); return; } if (Add_MACTextBox.Text == "") { MessageBox.Show("建议不要将MAC地址设置为空!", "提示", MessageBoxButton.OK); } if (Add_UserCodeTextBox1.Text == "" || Add_UserCodeTextBox2.Text == "") { MessageBox.Show("建议不要将用户码设置为空!", "提示", MessageBoxButton.OK); } if (Add_VoltageTextBox.Text == "") { MessageBox.Show("建议不要将额定电压设置为空!", "提示", MessageBoxButton.OK); } if (Add_PowerTextBox.Text == "") { MessageBox.Show("建议不要将额定功率设置为空!", "提示", MessageBoxButton.OK); } PlugDevice plugdev = new PlugDevice(); plugdev.PlugID = Convert.ToInt64(Add_IDTextBox.Text); plugdev.PlugName = Add_NameTextBox.Text; plugdev.PlugMac = Add_MACTextBox.Text; plugdev.UserCode = (UInt16)(256 * Convert.ToUInt16(Add_UserCodeTextBox1.Text) + Convert.ToUInt16(Add_UserCodeTextBox2.Text)); plugdev.Voltage = Convert.ToSingle(Add_VoltageTextBox.Text); plugdev.Power = Convert.ToSingle(Add_PowerTextBox.Text); plugdev.DayBudget = Convert.ToSingle(Add_BudgettedEnergyTextBox.Text); plugdev.Description = Add_DescriptionTextBox.Text; plugdev.CreateDateTime = DateTime.Now; bool success = SmartPlugDAL.AddPlugDevice(plugdev, SqliteDBPath); if (success == true) { RefreshPlugInfo(); //更新列表 AddedDeviceList.SelectedIndex = PlugDeviceTable.Rows.Count - 1; MessageBox.Show("成功添加该插座!", "提示", MessageBoxButton.OK); } else { MessageBox.Show("无法添加该插座,请检查设置!", "提示", MessageBoxButton.OK); } } catch (ArgumentException ae) { MessageBox.Show(ae.Message + " \n\n" + ae.Source + "\n\n" + ae.StackTrace); } catch (Exception ex) { //Do any logging operation here if necessary throw new Exception(ex.Message); } }