Exemple #1
0
        // 显示 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);
            }
        }
Exemple #2
0
        //删除插座记录
        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);
            }
        }
Exemple #3
0
        //获取所有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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        //更新插座表
        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);
            }
        }
Exemple #6
0
        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
            {
            }
        }
Exemple #7
0
        //添加插座
        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);
            }
        }