/// <summary> /// 获取LED设置 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static PositionLED GetLED(string sql) { DataSet dataset = LinQBaseDao.Query(sql); PositionLED pLED = new PositionLED(); foreach (DataRow dr in dataset.Tables[0].Rows) { pLED.PositionLED_Position_ID = int.Parse(dr["PositionLED_Position_Id"].ToString()); pLED.PositionLED_Type = int.Parse(dr["PositionLED_Type"].ToString()); pLED.PositionLED_ID = int.Parse(dr["PositionLED_ID"].ToString()); pLED.PositionLED_ScreenHeight = int.Parse(dr["PositionLED_ScreenHeight"].ToString()); pLED.PositionLED_ScreenWeight = int.Parse(dr["PositionLED_ScreenWeight"].ToString()); pLED.PositionLED_X = int.Parse(dr["PositionLED_X"].ToString()); pLED.PositionLED_Y = int.Parse(dr["PositionLED_Y"].ToString()); //pLED.PositionLED_IntervalX = int.Parse(dr["PositionLED_IntervalX"].ToString()); //pLED.PositionLED_IntervalY = int.Parse(dr["PositionLED_IntervalY"].ToString()); pLED.PositionLED_Count = int.Parse(dr["PositionLED_Count"].ToString()); pLED.PositionLED_Remark = dr["PositionLED_Remark"].ToString(); pLED.PositionLED_Content = dr["PositionLED_Content"].ToString(); //pLED.PositionLED_PassageState = dr["PositionLED_PassageState"].ToString(); pLED.PositionLED_State = dr["PositionLED_State"].ToString(); pLED.PositionLED_Font = dr["PositionLED_Font"].ToString(); pLED.PositionLED_FontSize = dr["PositionLED_FontSize"].ToString(); pLED.PositionLED_Color = dr["PositionLED_Color"].ToString(); pLED.PositionLED_Operate = dr["PositionLED_Operate"].ToString(); pLED.PositionLED_Time = Convert.ToDateTime(dr["PositionLED_Time"].ToString()); } return(pLED); }
/// <summary> /// 添加一条LED信息 /// </summary> /// <param name="pLED">LED实体</param> /// <returns>返回执行结果 true or false</returns> public static bool InsertPositionLED(PositionLED pLED) { bool rbool = true; using (DCCarManagementDataContext db = new DCCarManagementDataContext()) { try { rbool = LinQBaseDao.InsertOne(db, pLED); } catch { rbool = false; } finally { db.Connection.Close(); } } return(rbool); }
/// <summary> /// 保存用户操作 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, EventArgs e) { try { isUpdate = 1; if (!ChkContent()) { return; } //判断是否修改 //添加数据到数据库 PositionLED pLED = new PositionLED(); #region 获取页面的数据 pLED.PositionLED_Position_ID = int.Parse(chkPositionLED_Position_Id.SelectedValue.ToString()); if (cboleixing.Text == "排队信息") { pLED.PositionLED_Type = 1; } else if (cboleixing.Text == "欢迎语") { pLED.PositionLED_Type = 2; } pLED.PositionLED_ScreenHeight = int.Parse(txtPositionLED_ScreenHeight.Text.Trim()); pLED.PositionLED_ScreenWeight = int.Parse(txtPositionLED_ScreenWeight.Text.Trim()); pLED.PositionLED_X = int.Parse(txtPositionLED_X.Text.Trim()); pLED.PositionLED_Y = int.Parse(txtPositionLED_Y.Text.Trim()); pLED.PositionLED_Count = int.Parse(cbotiaoshu.Text.Trim()); pLED.PositionLED_Remark = txtPositionLED_Remark.Text.Trim(); //pLED.PositionLED_PassageState = chkboxLEDPassState.Text.ToString(); //保存选择的字体设置项目 pLED.PositionLED_Font = fontdlgFont.Font.Name.ToString(); pLED.PositionLED_FontSize = fontdlgFont.Font.Size.ToString(); pLED.PositionLED_Color = colordlgFont.Color.ToString(); if (cboleixing.Text == "欢迎语") { pLED.PositionLED_Content = ""; pLED.PositionLED_Operate = CommonalityEntity.USERNAME; pLED.PositionLED_Time = CommonalityEntity.GetServersTime(); #endregion pLED.PositionLED_State = chkboxLEDState.Text.Trim(); if (chkboxLEDState.Text.Trim() == "启动") { if (ChkPositionLEDState()) { DialogResult dlgResult = MessageBox.Show("已经存在启动状态的设置,是否替换?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlgResult == DialogResult.OK) { //修改条件 Expression <Func <PositionLED, bool> > fun = n => n.PositionLED_State == "启动" && n.PositionLED_Position_ID == int.Parse(chkPositionLED_Position_Id.SelectedValue.ToString()); //需要修改的内容 Action <PositionLED> action = p => { p.PositionLED_State = "暂停"; }; //执行更新 PositionLEDDAL.UpdatePositionLED(fun, action); PositionLEDDAL.InsertPositionLED(pLED); } else { pLED.PositionLED_State = "暂停"; PositionLEDDAL.InsertPositionLED(pLED); } } else { PositionLEDDAL.InsertPositionLED(pLED); } } else { PositionLEDDAL.InsertPositionLED(pLED); } DataTable dt = dt = LinQBaseDao.Query("select PositionLED_ID,PositionLED_State from PositionLED order by PositionLED_ID desc").Tables[0]; string positionled_id = dt.Rows[0][0].ToString(); string state = dt.Rows[0][1].ToString(); if (state == "启动") { CommonalityEntity.WriteLogData("新增", "新增并启动编号为:" + positionled_id + "的LED显示信息", CommonalityEntity.USERNAME);//添加操作日志 } else { CommonalityEntity.WriteLogData("新增", "新增编号为:" + positionled_id + "的LED显示信息", CommonalityEntity.USERNAME);//添加操作日志 } } else if (cboleixing.Text == "排队信息") { string serialnumber = ""; string carType = ""; string carNumber = ""; if (chkCarNumber.Checked) { carNumber = chkCarNumber.Text.Trim() + ","; } if (chkCarType.Checked) { carType = chkCarType.Text.Trim() + ","; } if (chkSerialnumber.Checked) { serialnumber = "distinct(" + chkSerialnumber.Text.Trim() + "),"; } string chklists = ""; if (list.Count() > 1) { foreach (var item in list) { chklists += (item.ToString() + ","); } list.Clear(); } string listsql = serialnumber + carNumber + carType + chklists; listsql = listsql.TrimEnd(','); //限定选择的显示内容只能为3个 string[] split = listsql.Split(','); int num = 0; for (int i = 0; i < split.Length; i++) { num++; } if (num > 3) { MessageBox.Show("排队信息显示的项目最多选择3项", "错误提示"); return; } else { string sql = "Select " + listsql + " from View_LEDShow_zj"; pLED.PositionLED_Content = sql; pLED.PositionLED_Operate = CommonalityEntity.USERNAME; pLED.PositionLED_Time = CommonalityEntity.GetServersTime(); pLED.PositionLED_State = chkboxLEDState.Text.Trim(); if (chkboxLEDState.Text.Trim() == "启动") { if (ChkPositionLEDState()) { DialogResult dlgResult = MessageBox.Show("已经存在启动状态的设置,是否替换?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlgResult == DialogResult.OK) { //修改条件 Expression <Func <PositionLED, bool> > fun = n => n.PositionLED_State == "启动" && n.PositionLED_Position_ID == int.Parse(chkPositionLED_Position_Id.SelectedValue.ToString()); //需要修改的内容 Action <PositionLED> action = p => { p.PositionLED_State = "暂停"; }; //执行更新 PositionLEDDAL.UpdatePositionLED(fun, action); PositionLEDDAL.InsertPositionLED(pLED); } else { pLED.PositionLED_State = "暂停"; PositionLEDDAL.InsertPositionLED(pLED); } } else { PositionLEDDAL.InsertPositionLED(pLED); } } else { PositionLEDDAL.InsertPositionLED(pLED); } DataTable dt = dt = LinQBaseDao.Query("select PositionLED_ID,PositionLED_State from PositionLED order by PositionLED_ID desc").Tables[0]; string positionled_id = dt.Rows[0][0].ToString(); string state = dt.Rows[0][1].ToString(); if (state == "启动") { CommonalityEntity.WriteLogData("新增", "新增并启动编号为:" + positionled_id + "的LED显示信息", CommonalityEntity.USERNAME);//添加操作日志 } else { CommonalityEntity.WriteLogData("新增", "新增编号为:" + positionled_id + "的LED显示信息", CommonalityEntity.USERNAME);//添加操作日志 } } } } catch { //记录错误日志 CommonalityEntity.WriteTextLog("LEDSetForm btnAdd_Click()"); } finally { GetGriddataviewLoad("");//绑定列表 Empty(); } }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LEDPreviewForm_Load(object sender, EventArgs e) { try { DataTable dts = LinQBaseDao.Query("select CarType_ID,CarType_DriSName from CarType where CarType_State='启动'").Tables[0]; if (dts.Rows.Count > 0) { for (int i = 0; i < dts.Rows.Count; i++) { int kk = Convert.ToInt32(LinQBaseDao.GetSingle("select count(0) from ManagementStrategy where ManagementStrategy_DriSName='" + dts.Rows[i][1].ToString() + "' and ManagementStrategy_ControlInfo_ID in(select ControlInfo_ID from ControlInfo where ControlInfo_Name='排队') and ManagementStrategy_State='启动' ").ToString()); if (kk == 0) { cartypeid += dts.Rows[i][0].ToString() + ","; } } } cartypeid = cartypeid.TrimEnd(','); //读取LED配置项 string sql = "select * from PositionLED where PositionLED_State='启动' and PositionLED_Position_ID=" + SystemClass.PositionID + ""; pled = PositionLEDDAL.GetLED(sql); //加载时将窗体显示位置修改到指定位置 int X = Convert.ToInt32(pled.PositionLED_X); int Y = Convert.ToInt32(pled.PositionLED_Y); this.Location = new Point(X, Y); fontsize = Convert.ToInt32(pled.PositionLED_FontSize); //判断当前门岗是否有LED的配置信息 if (pled.PositionLED_ID <= 0) { lbltishi.Visible = true; lblleixingting.Visible = false; lblleixingzhi.Visible = false; lblChePaiting.Visible = false; lblpaiduihaoting.Visible = false; lblMenGangting.Visible = false; lblTongDaoting.Visible = false; lbltishi.Text = "当前登录门岗\r\n暂无LED显示配置信息,\r\n请先配置对应门岗显示信息!!!"; return; } else { try { //读取配置的高宽(高度与宽度是反的) int weight = Convert.ToInt32(pled.PositionLED_ScreenWeight); int heifht = Convert.ToInt32(pled.PositionLED_ScreenHeight); this.Size = new Size(weight, heifht); //读取配置的字体颜色 string s = pled.PositionLED_Color; int cd = s.Length - 8; yanse = s.Substring(7, cd); if (pled.PositionLED_Type == 1) { timer1.Enabled = true; BindCountting(); BindTypeting(); Bindting(); } else if (pled.PositionLED_Type == 2) { lblhuanyingyu.Visible = true; lblleixingting.Visible = false; lblleixingzhi.Visible = false; lblChePaiting.Visible = false; lblpaiduihaoting.Visible = false; lblMenGangting.Visible = false; lblTongDaoting.Visible = false; lblhuanyingyu.Text = pled.PositionLED_Remark.ToString(); return; } } catch { //将类型的循环标识加1 typecountting = typecountting + 1; if (typecountting >= typeting) { typecountting = 0; } BindTypeting(); Bindting(); } } } catch { } }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LEDPreviewForm_Load(object sender, EventArgs e) { //读取LED配置项 string sql = "select * from PositionLED where PositionLED_State='启动' and PositionLED_Position_ID=" + SystemClass.PositionID + ""; pLED = PositionLEDDAL.GetLED(sql); //加载时将窗体显示位置修改到指定位置 int X = Convert.ToInt32(pLED.PositionLED_X); int Y = Convert.ToInt32(pLED.PositionLED_Y); this.Location = new Point(X, Y); //判断当前门岗是否有LED的配置信息 if (pLED.PositionLED_ID <= 0) { lbltishi.Visible = true; lbltishi.Text = "当前登录门岗\r\n暂无LED显示配置信息,\r\n请先配置对应门岗显示信息"; return; } else { DataTable dts = LinQBaseDao.Query("select CarType_ID from CarType where CarType_State='启动'").Tables[0]; if (dts.Rows.Count > 0) { for (int i = 0; i < dts.Rows.Count; i++) { // and ManagementStrategy_State='启动' int kk = Convert.ToInt32(LinQBaseDao.GetSingle("select count(0) from ManagementStrategy where ManagementStrategy_CarType_ID=" + dts.Rows[i][0].ToString() + " and ManagementStrategy_ControlInfo_ID in(select ControlInfo_ID from ControlInfo where ControlInfo_Name='排队')").ToString()); if (kk == 0) { cartypeid += dts.Rows[i][0].ToString() + ","; } } } cartypeid = cartypeid.TrimEnd(','); //读取配置的高宽(高度与宽度是反的) int weight = Convert.ToInt32(pLED.PositionLED_ScreenWeight); int heifht = Convert.ToInt32(pLED.PositionLED_ScreenHeight); this.Size = new Size(weight, heifht); //读取配置的字体颜色 string s = pLED.PositionLED_Color; int cd = s.Length - 8; yanse = s.Substring(7, cd); if (pLED.PositionLED_Type == 1)//1为显示排队信息 { try { BindCount(); if (type == 0) { lbltishi.Visible = true; lbltishi.Text = "一级防火单位,严禁将烟火带入厂区,否则引发事故将移送公安机关处理!!!"; } else { BindType(); timer1.Enabled = false; //将刷类型的闹钟关闭 lbltishi.Visible = false; //将提示语的LBL关闭 TimerLED.Enabled = true; //只有在显示排队信息时才将闹钟打开 } } catch { count = count + 1; if (count == type) { count = 0; } BindType(); } } else if (pLED.PositionLED_Type == 2)//2为显示欢迎语 { lblhuanyingyu.Visible = true; lblhuanyingyu.Text = pLED.PositionLED_Remark; } } }