private void btn_M添加_Click(object sender, EventArgs e) { 场景模块添加界面 frm = new 场景模块添加界面(); if (frm.ShowDialog() == DialogResult.OK) { if (tmp场景子模块.场景调试模块列表2 == null) { tmp场景子模块.场景调试模块列表2 = new List <场景调试模块>(); } foreach (var v in frm.模块编号) { if (tmp场景子模块.场景调试模块列表2.FindIndex(t => t.模块编号 == v) != -1) { continue; } 场景调试模块 tmp = new 场景调试模块(); tmp.场景开关信息列表 = new List <场景开关信息>(); while (tmp.场景开关信息列表.Count < 16) { var vmsg = new 场景开关信息(); vmsg.开关通道 = (tmp.场景开关信息列表.Count + 1).ToString(); vmsg.开关状态 = "是"; vmsg.开关亮度 = "0"; tmp.场景开关信息列表.Add(vmsg); } tmp.模块编号 = v; var v1 = ModelsOperate.GetModel(int.Parse(tmp.模块编号)); tmp场景子模块.场景调试模块列表2.Add(tmp); } RefreshForm_场景模块(tmp场景子模块.场景调试模块列表2); } }
public static void LoadSwitch(int 模块地址) { string sql = string.Format(@" select * from 开关信息 where 模块地址 = '{0}' ", 模块地址.ToString()); 调试模块 tmp = ModelsOperate.GetModel(模块地址); //if (tmp.开关列表 == null) // tmp.开关列表 = new List<开关模块>(); DataTable dt = AccessLib.GetData(sql); foreach (DataRow v in dt.Rows) { 开关模块 swit = new 开关模块() { 模块编号 = 模块地址.ToString(), 开关编号 = Convert.ToString(v["开关编号"]), 开关名称 = Convert.ToString(v["开关名称"]), 开关位置 = Convert.ToString(v["开关位置"]) }; //int index = -1; //if ((index = tmp.开关列表.FindIndex(t => t.开关编号 == swit.开关编号)) != -1) //{ // //tmp.开关列表[index] = swit; // tmp.开关列表[index].开关位置 = swit.开关位置; // tmp.开关列表[index].开关名称 = swit.开关名称; //} //else //{ // tmp.开关列表.Add(swit); //} } }
private void dgv_调试模块_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1 || e.ColumnIndex == -1) { dgv_开关模块.Rows.Clear(); return; } if (dgv_场景模块.SelectedRows.Count == 0) { dgv_调试模块.Rows.Clear(); dgv_开关模块.Rows.Clear(); MessageBox.Show("请先选择场景模块!"); return; } if (dgv_调试模块.SelectedRows.Count == 0) { dgv_开关模块.Rows.Clear(); MessageBox.Show("请先选择产品模块模块!"); return; } string name = Convert.ToString(dgv_场景模块.SelectedRows[0].Cells[0].Value); int index = -1; if ((index = 当前场景模块.FindIndex(t => t.场景名称 == name)) == -1) { dgv_调试模块.Rows.Clear(); dgv_开关模块.Rows.Clear(); return; } if (当前场景模块[index] == null) { 当前场景模块[index].场景调试模块列表 = new List <场景调试模块>(); } 场景调试模块 tmp = 当前场景模块[index].场景调试模块列表.Find(t => t.模块编号 == Convert.ToString(dgv_调试模块.Rows[e.RowIndex].Cells[0].Value)); if (tmp == null) { MessageBox.Show("该地址模块不存在!"); return; } if (tmp.场景开关信息列表 == null) { tmp.场景开关信息列表 = new List <场景开关信息>(); } while (tmp.场景开关信息列表.Count < 16) { var v = new 场景开关信息(); v.开关通道 = (tmp.场景开关信息列表.Count + 1).ToString(); v.开关状态 = "是"; v.开关亮度 = "0"; tmp.场景开关信息列表.Add(v); } var tmp1 = ModelsOperate.GetModel(int.Parse(tmp.模块编号)); //for (int i = 0; i < tmp1.开关列表.Count; i++) //{ // tmp.场景开关信息列表.Find(t=>t.开关通道 == tmp1.开关列表[i].模块编号).开关名称 = tmp1.开关列表[i].开关名称; //} Refresh_dgv_开关模块(tmp.场景开关信息列表, tmp1); }
private void Panel_Click(object sender, EventArgs e) { var tmp = ModelsOperate.GetModel(int.Parse(AddrNumber)); if (ButtonClick != null) { ButtonClick(sender, tmp); } }
private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Name == "开关编辑") { 开关管理 frm = new 开关管理(); frm.tmp = ModelsOperate.GetModel(Convert.ToInt32(dataGridView1.Rows[Editindex].Cells[0].Value)); frm.ShowDialog(); Editindex = -1; } }
private void RefreshForm_场景模块(List <场景调试模块> tmp) { dgv_调试模块.Rows.Clear(); var vv = tmp.OrderBy(t => int.Parse(t.模块编号)).ToList(); foreach (var v in vv) { var v1 = ModelsOperate.GetModel(int.Parse(v.模块编号)); dgv_调试模块.Rows.Add(v.模块编号, v1.模块名称); } }
private void btn_M添加_Click(object sender, EventArgs e) { try { if (dgv_场景模块.SelectedRows.Count == 0) { MessageBox.Show("请先选择一项场景!"); return; } 场景模块添加界面 frm = new 场景模块添加界面(); if (frm.ShowDialog() == DialogResult.OK) { int index = -1; string name = Convert.ToString(dgv_场景模块.SelectedRows[0].Cells[0].Value); if ((index = 当前场景模块.FindIndex(t => t.场景名称 == name)) == -1) { dgv_调试模块.Rows.Clear(); dgv_开关模块.Rows.Clear(); return; } if (当前场景模块[index].场景调试模块列表 == null) { 当前场景模块[index].场景调试模块列表 = new List <场景调试模块>(); } foreach (var v in frm.模块编号) { if (当前场景模块[index].场景调试模块列表.FindIndex(t => t.模块编号 == v) != -1) { //MessageBox.Show("该地址已存在"); continue; } 场景调试模块 tmp = new 场景调试模块(); tmp.场景开关信息列表 = new List <场景开关信息>(); tmp.模块编号 = v; var v1 = ModelsOperate.GetModel(int.Parse(tmp.模块编号)); 当前场景模块[index].场景调试模块列表.Add(tmp); } ConfigClass.SaveCookie_List(场景设置.当前场景模块, "场景模块.dat"); RefreshForm_场景模块(当前场景模块[index].场景调试模块列表); MessageBox.Show("添加成功"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void RefreshPanel(开关模块 tmp, string modelsType) { ModelsType = modelsType; switchButton.ButtonDisplay(tmp.flag); ModelsNumber = tmp.模块编号; numLable.Text = tmp.开关编号; nameLable.Text = tmp.开关名称; nameLable.Location = new Point((this.Width - nameLable.PreferredWidth) / 2, nameLable.Location.Y); if (ModelsType == "开关模块") { trackBar.Visible = false; numTrackBar.Visible = false; } else { trackBar.Visible = true; numTrackBar.Visible = true; numTrackBar.Text = "亮度:" + tmp.亮度.ToString(); } var tmp1 = ModelsOperate.GetModel(int.Parse(tmp.模块编号)); //if (tmp1.开关路数 == null) // tmp1.开关路数 = "16"; //int channel = int.Parse(tmp1.开关路数); //if (channel < int.Parse(PanleNumber)) // this.Visible = false; //else // this.Visible = true; trackBar.Value = tmp.亮度; if (!switchButton.flag) { pictureBox.Image = Properties.Resources.灯泡关; } else { pictureBox.Image = Properties.Resources.灯泡开; } LightValue = tmp.亮度; Flag = tmp.flag; LightValue = tmp.亮度; }
private void dgv_调试模块_SelectionChanged(object sender, EventArgs e) { if (dgv_调试模块.SelectedRows.Count != 1) { dgv_开关模块.Rows.Clear(); //MessageBox.Show("请先选择产品模块!"); return; } dgv_开关模块.Rows.Clear(); int index = dgv_调试模块.SelectedRows[0].Index; 场景调试模块 tmp = tmp场景子模块.场景调试模块列表2.Find(t => t.模块编号 == Convert.ToString(dgv_调试模块.Rows[index].Cells[0].Value)); if (tmp == null) { MessageBox.Show("该地址模块不存在!"); return; } if (tmp.场景开关信息列表 == null) { tmp.场景开关信息列表 = new List <场景开关信息>(); } while (tmp.场景开关信息列表.Count < 16) { var v = new 场景开关信息(); v.开关通道 = (tmp.场景开关信息列表.Count + 1).ToString(); v.开关状态 = "是"; v.开关亮度 = "0"; tmp.场景开关信息列表.Add(v); } var tmp1 = ModelsOperate.GetModel(int.Parse(tmp.模块编号)); //for (int i = 0; i < tmp1.开关列表.Count; i++) //{ // tmp.场景开关信息列表.Find(t => t.开关通道 == tmp1.开关列表[i].模块编号).开关名称 = tmp1.开关列表[i].开关名称; //} Refresh_dgv_开关模块(tmp.场景开关信息列表, tmp1); }
public void RefreshPanel(string addrNumber, string modlesType, int state, int falut) { //string s = ""; //if (modlesType == "开关模块") // s = "开关型"; //else if (modlesType == "调光模块") // s = "调光型"; //else // s = "未获取"; numLable.Text = addrNumber + ":" + modlesType; numLable.BackColor = Color.Transparent; var v = ModelsOperate.GetModel(int.Parse(addrNumber)); typeLable.Text = v.模块名称; numLable.Location = new Point((this.Width - numLable.PreferredWidth - 13), (17)); typeLable.Location = new Point((this.Width - typeLable.PreferredWidth) / 2, (this.Height - 2 * numLable.Height) / 2 + numLable.Height); if (State != state) { if (state == 0) { drawColor = SystemColors.ControlLight; } else if (state == 2) { drawColor = Color.PaleTurquoise; } else if (state == 3) { drawColor = Color.Khaki; } this.Refresh(); } State = state; FaultState = falut; AddrNumber = addrNumber; ModlesType = modlesType; }
public static void FroeachScene() { DateTime dt1 = DateTime.Now; DateTime dt2 = DateTime.Now; bool bSure = false; DateTime currentDt = DateTime.Now; if (lastCheckDatetime >= currentDt) { lastCheckDatetime = currentDt; return; } try { dt1 = 计算日出日落.计算日出时间(MainForm.currentParam.经度, MainForm.currentParam.维度, DateTime.Now); dt2 = 计算日出日落.计算日落时间(MainForm.currentParam.经度, MainForm.currentParam.维度, DateTime.Now); MainForm.日出日落时间 = string.Format("日出:{0} 日落:{1}", dt1.ToString("HH:mm:ss"), dt2.ToString("HH:mm:ss")); MainForm.日出时间 = dt1.ToString("HH:mm:ss"); MainForm.日落时间 = dt2.ToString("HH:mm:ss"); bSure = true; } catch (Exception ex) { bSure = false; } //for (int i = 0; i < ModelsOperate.ModelsList.Count; i++) //{ //var v = ModelsOperate.ModelsList[i]; //} var tmp = 场景设置.当前场景模块.Where((t, b) => { if (t.启用标志) { return(true); } else { return(false); } }).ToList(); foreach (var v1 in tmp) { if (tmp.FindIndex(t => t.模式 == SceneModel.国家公休日) != -1) { string currentd = DateTime.Now.ToString("yyyyMMdd"); if (MainForm.国家公休日列表.FindIndex(t => t.日期 == currentd) != -1) { if (v1.模式 == SceneModel.工作日模式) { continue; } } else { if (v1.模式 == SceneModel.国家公休日) { continue; } if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && ((v1.星期数据 >> 0) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Tuesday && ((v1.星期数据 >> 1) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Wednesday && ((v1.星期数据 >> 2) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Thursday && ((v1.星期数据 >> 3) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Friday && ((v1.星期数据 >> 4) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Saturday && ((v1.星期数据 >> 5) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Sunday && ((v1.星期数据 >> 6) & 0x01) == 1) { } else { continue; } } } else { if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && ((v1.星期数据 >> 0) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Tuesday && ((v1.星期数据 >> 1) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Wednesday && ((v1.星期数据 >> 2) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Thursday && ((v1.星期数据 >> 3) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Friday && ((v1.星期数据 >> 4) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Saturday && ((v1.星期数据 >> 5) & 0x01) == 1 || DateTime.Now.DayOfWeek == DayOfWeek.Sunday && ((v1.星期数据 >> 6) & 0x01) == 1) { } else { continue; } } if (DateTime.Now.Date >= v1.开始时间.Date && v1.结束时间.Date >= DateTime.Now.Date) { foreach (var v2 in v1.场景子名称列表) { if (v2.定时方式 != SetTimeType.普通定时 && !bSure) { continue; } DateTime dt3; if (v2.定时方式 == SetTimeType.普通定时) { dt3 = v2.动作时间; } else if (v2.定时方式 == SetTimeType.日出时间) { dt3 = dt1; } else { dt3 = dt2; } var Msg1 = 获取场景模块信息(v2); if (lastCheckDatetime.TimeOfDay < dt3.TimeOfDay && dt3.TimeOfDay <= DateTime.Now.TimeOfDay) { var Msg = 获取场景模块信息(v2); if (Msg != null) { foreach (var tmpMsg in Msg) { List <ushort> tmpl = new List <ushort>(); foreach (var ii in tmpMsg.channel) { tmpl.Add((ushort)ii); } var tmpModel = ModelsOperate.GetModel(int.Parse(tmpMsg.addr)); if (tmpModel == null) { continue; } if (tmpModel.模块类型 == "开关模块") { ModlesMsg modlesMsg = new ModlesMsg() { addr = int.Parse(tmpMsg.addr), //action = v2.动作 ? ActionState.Open : ActionState.Close, bitArray = tmpl.ToArray(), valueArray = tmpMsg.value, 模块类型 = tmpModel.模块类型, bit = 0xf1 }; MainForm.WriteDic.AddOrUpdate(tmpMsg.addr + "," + "场景", modlesMsg, (key, value) => value); } else if (tmpModel.模块类型 == "调光模块") { ModlesMsg modlesMsg = new ModlesMsg() { addr = int.Parse(tmpMsg.addr), //action = v2.动作 ? ActionState.Open : ActionState.Close, bitArray = tmpl.ToArray(), valueArray = tmpMsg.value, 模块类型 = tmpModel.模块类型, bit = 0xf1 }; MainForm.WriteDic.AddOrUpdate(tmpMsg.addr + "," + "场景_1", modlesMsg, (key, value) => value); ModlesMsg modlesMsg1 = new ModlesMsg() { addr = int.Parse(tmpMsg.addr), //action = v2.动作 ? ActionState.Open : ActionState.Close, bitArray = tmpl.ToArray(), valueArray = tmpMsg.value, 模块类型 = tmpModel.模块类型, bit = 0xf2 }; MainForm.WriteDic.AddOrUpdate(tmpMsg.addr + "," + "场景_2", modlesMsg1, (key, value) => value); } } } } } } } lastCheckDatetime = currentDt; }