/// <summary> /// 修改显示信息 /// </summary> /// <returns></returns> public bool UpdateLEDShowInfo(LEDShowInfo lEDShowInfo) { string sSql = $@"Update LEDShowInfo set BeginTime='{lEDShowInfo.BeginTime}',EndTime ='{lEDShowInfo.EndTime}',Content = '{lEDShowInfo.Content}', FontColor = '{lEDShowInfo.FontColor}',FontName = '{lEDShowInfo.FontName}',FontSize='{lEDShowInfo.FontSize}',Duration='{lEDShowInfo.Duration}' where ID = '{lEDShowInfo.ID}'"; return(server.ExecuteNonQuery(sSql) > 0); }
/// <summary> /// 屏幕发送节目显示或是保存到数据库定时发送显示 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSendData_Click(object sender, EventArgs e) { try { LEDShowInfo showInfo = new LEDShowInfo(); showInfo.ScreenId = cmbLEDId.Text; showInfo.AddressNum = Convert.ToInt32(cmbLEDId.SelectedValue); showInfo.Content = string.IsNullOrEmpty(txtContent.Text) ? "日期星期时间显示" : txtContent.Text; showInfo.FontColor = fontColor.ToString(); showInfo.FontName = fontName; showInfo.FontSize = fontSize; showInfo.ShowStyle = Convert.ToInt32(cmbShowType.SelectedValue); showInfo.FontBold = chkFoild.Checked; showInfo.Position = cmbPosition.Text.Equals("居中") ? 1 : cmbPosition.Text.Equals("左对齐") ? 0 : cmbPosition.Text.Equals("右对齐") ? 2 : 1; showInfo.Duration = Convert.ToInt32(txtTIme.Text); if (LEDShow.SendData(Convert.ToInt32(cmbLEDId.SelectedValue))) { showInfo.SendState = "自定义实时发送成功"; ledShowInfo.InserScreenLog(showInfo); MessageBox.Show("发送成功!");//显示日志记录 } else { showInfo.SendState = "自定义实时发送失败"; ledShowInfo.InserScreenLog(showInfo); MessageBox.Show("发送失败!");//显示日志记录 } } catch { } }
private void dgvTemShow_CellClick(object sender, DataGridViewCellEventArgs e) { try { if (dgvTemShow.CurrentRow != null) { if (dgvTemShow.Columns[e.ColumnIndex].Name == "修改") { if (dgvTemShow.CurrentRow.Cells["修改"].FormattedValue.ToString() == "修改") { LEDShowInfo lEDShowInfo = new LEDShowInfo(); lEDShowInfo.ID = Convert.ToInt32(dgvTemShow.CurrentRow.Cells["ID"].Value); lEDShowInfo.BeginTime = dgvTemShow.CurrentRow.Cells["BeginTime"].Value.ToString(); lEDShowInfo.EndTime = dgvTemShow.CurrentRow.Cells["EndTime"].Value.ToString(); lEDShowInfo.Content = dgvTemShow.CurrentRow.Cells["Content"].Value.ToString(); lEDShowInfo.FontColor = dgvTemShow.CurrentRow.Cells["FontColor"].Value.ToString(); lEDShowInfo.FontName = dgvTemShow.CurrentRow.Cells["FontName"].Value.ToString(); lEDShowInfo.FontSize = Convert.ToInt32(dgvTemShow.CurrentRow.Cells["FontSize"].Value); lEDShowInfo.Duration = Convert.ToInt32(dgvTemShow.CurrentRow.Cells["Duration"].Value); if (bllLedShowInfo.UpdateLEDShowInfo(lEDShowInfo)) { MessageBox.Show("修改成功!"); btnSearch_Click(null, null); } else { MessageBox.Show("修改失败!"); } } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// 添加显示发送记录 /// </summary> /// <param name="ledShowInfo"></param> /// <returns></returns> public bool InserScreenLog(LEDShowInfo ledShowInfo) { string sSql = $@"Insert into ScreenShowLog(ScreenId,SendState,AddressNum,BeginTime,EndTime,Content,FontColor,FontName,FontSize,ShowStyle,FontBold,Position,Duration) values('{ledShowInfo.ScreenId}','{ledShowInfo.SendState}','{ledShowInfo.AddressNum}','{ledShowInfo.BeginTime}','{ledShowInfo.EndTime}', '{ledShowInfo.Content}','{ledShowInfo.FontColor}','{ledShowInfo.FontName}','{ledShowInfo.FontSize}','{ledShowInfo.ShowStyle}','{ledShowInfo.FontBold}', '{ledShowInfo.Position}','{ledShowInfo.Duration}')"; return(server.ExecuteNonQuery(sSql) > 0); }
/// <summary> /// 新增预设显示信息 /// </summary> /// <param name="ledShowInfo"></param> /// <returns></returns> public bool InsertLedShowInfo(LEDShowInfo ledShowInfo) { string sSql = $@"Insert into LedShowInfo(ScreenId,AddressNum,BeginTime,EndTime,Content,FontColor,FontName,FontSize,ShowStyle,FontBold,Position,Tag,Duration,DeleteUpProgram,GroupName) values('{ledShowInfo.ScreenId}','{ledShowInfo.AddressNum}','{ledShowInfo.BeginTime}','{ledShowInfo.EndTime}', '{ledShowInfo.Content}','{ledShowInfo.FontColor}','{ledShowInfo.FontName}','{ledShowInfo.FontSize}','{ledShowInfo.ShowStyle}','{ledShowInfo.FontBold}', '{ledShowInfo.Position}','{ledShowInfo.Tag}','{ledShowInfo.Duration}','{ledShowInfo.DeleteUpProgram}','{ledShowInfo.GroupName}')"; return(server.ExecuteNonQuery(sSql) > 0); }
/// <summary> ///保存到发送记录表中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSendData_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtScreenId.Text.Trim())) { MessageBox.Show("请录入需要显示的屏幕编号!"); return; } if (string.IsNullOrEmpty(txtTIme.Text)) { MessageBox.Show("请录入显示时长!"); return; } showType = Convert.ToInt32(cmbShowType.SelectedValue); //播放方式 CurrentInfo.DataSendErro = string.Empty; //主界面错误提示信息 foreach (var item in screenInfo) { int fontSize = 0;//字体大小 LEDShowInfo lEDShowInfo = new LEDShowInfo(); if (dtScreen.Rows.Count > 0) { DataRow[] screenRow = dtScreen.Select($"AddressNum = {item.Key}"); sWidth = Convert.ToInt32(screenRow[0]["ScreenWidth"]); sHeight = Convert.ToInt32(screenRow[0]["ScreenHeight"]); lEDShowInfo.FontSize = allFontSize == 0 ? fontSize = Convert.ToInt32(screenRow[0]["FontSize"]) : fontSize = allFontSize;//字体大小设置了就用设置的,没有设置就用屏幕自带参数 } lEDShowInfo.AddressNum = Convert.ToInt32(item.Key); lEDShowInfo.ScreenId = item.Value; lEDShowInfo.ShowStyle = showType; lEDShowInfo.FontName = fontName; lEDShowInfo.FontColor = fontColor; lEDShowInfo.FontSize = fontSize; lEDShowInfo.Content = cmbContent.Text.Trim(); lEDShowInfo.Duration = Convert.ToInt32(txtTIme.Text); lEDShowInfo.DeleteUpProgram = chkDelete.Checked; if (chkDate.Checked) //保存发送记录表定时发送 { if (dtpEnd.Value.Hour <= dtpBegin.Value.Hour && dtpEnd.Value.Minute - dtpBegin.Value.Minute < 1) //显示时长提示 { MessageBox.Show("设置的显示时间少于1分钟,请重新设置!"); return; } lEDShowInfo.Tag = 0; lEDShowInfo.BeginTime = dtpBegin.Value.ToShortTimeString(); lEDShowInfo.EndTime = dtpEnd.Value.ToShortTimeString(); if (!bllLedShowInfo.InsertLedShowInfo(lEDShowInfo)) { CurrentInfo.DataSendErro += item.Value + ", "; } } else //实时发送,不定时 { if (chkDelete.Checked) { LEDShow.DeleteProgram(item.Key);//删除指定控制卡所有节目 } int programInx = LEDShow.AddProgram(item.Key, Convert.ToInt32(txtTIme.Text)); if (LEDShow.LedOpen(item.Key)) { int postion = cmbPosition.Text.Equals("居中") ? 1 : cmbPosition.Text.Equals("左对齐") ? 0 : cmbPosition.Text.Equals("右对齐") ? 2 : 1; //左对齐 1居中 2右对齐 if (string.IsNullOrEmpty(cmbPosition.Text)) { //单行文本不存在位置显示 LEDShow.AddSingleText(item.Key, sWidth, sHeight, cmbContent.Text, programInx, showType, fontName, fontSize, 0x00FF, chkFoild.Checked, postion); } else { //文本区域显示(左对齐 1居中 2右对齐) LEDShow.AddText(item.Key, sWidth, sHeight, cmbContent.Text, programInx, showType, fontName, fontSize, 0x00FF, chkFoild.Checked, postion); } if (LEDShow.SendData(item.Key)) { lEDShowInfo.SendState = "模板实时发送成功"; //bllLedShowInfo.InsertLedShowInfo(lEDShowInfo); bllLedShowInfo.InserScreenLog(lEDShowInfo); } else { lEDShowInfo.SendState = "模板实时发送失败"; CurrentInfo.DataSendErro += item.Value + ", "; bllLedShowInfo.InserScreenLog(lEDShowInfo); return; } } else { CurrentInfo.DataSendErro += item.Value + ", "; return; } } } MessageBox.Show("发送成功!"); if (!string.IsNullOrEmpty(CurrentInfo.DataSendErro)) { CurrentInfo.DataSendErro += " 发送失败!"; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// timer 实时显示 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ShowTimer_Tick(object sender, EventArgs e) { try { //预设显示 DataTable dtShow = ledShowInfo.GetLEDShowInfos($@" and Tag = 0 and BeginTime <= CONVERT (CHAR(10), GETDATE(), 108) and EndTime >= CONVERT (CHAR(10), GETDATE(), 108) order by BeginTime"); for (int i = 0; i < dtShow.Rows.Count; i++) { try { int addressNum = Convert.ToInt32(dtShow.Rows[i]["AddressNum"]); if (Convert.ToInt32(dtShow.Rows[i]["DeleteUpProgram"]) == 1) { LEDShow.DeleteProgram(addressNum); //删除指定控制卡所有节目 } int programInx = LEDShow.AddProgram(addressNum, Convert.ToInt32(dtShow.Rows[i]["Duration"])); //添加节目 int fontsize = Convert.ToInt32(dtShow.Rows[i]["SonFontSize"]) == 0 ? Convert.ToInt32(dtShow.Rows[i]["FontSize"]) : Convert.ToInt32(dtShow.Rows[i]["SonFontSize"]); //开始显示日志记录和发送失败记录 LEDShowInfo showInfo = new LEDShowInfo(); showInfo.ScreenId = dtShow.Rows[i]["ScreenId"].ToString(); showInfo.AddressNum = Convert.ToInt32(dtShow.Rows[i]["AddressNum"]); showInfo.BeginTime = dtShow.Rows[i]["BeginTime"].ToString(); showInfo.EndTime = dtShow.Rows[i]["EndTime"].ToString(); showInfo.Content = dtShow.Rows[i]["Content"].ToString(); showInfo.FontColor = dtShow.Rows[i]["FontColor"].ToString(); showInfo.FontName = dtShow.Rows[i]["FontName"].ToString(); showInfo.FontSize = Convert.ToInt32(dtShow.Rows[i]["FontSize"]); showInfo.ShowStyle = Convert.ToInt32(dtShow.Rows[i]["ShowStyle"]); showInfo.FontBold = Convert.ToBoolean(dtShow.Rows[i]["FontBold"]); showInfo.Position = Convert.ToInt32(dtShow.Rows[i]["Position"]); showInfo.Duration = Convert.ToInt32(dtShow.Rows[i]["Duration"]); if (LEDShow.LedOpen(Convert.ToInt32(addressNum))) { //添加显示内容 LEDShow.AddText(addressNum, Convert.ToInt32(dtShow.Rows[i]["ScreenWidth"]), Convert.ToInt32(dtShow.Rows[i]["ScreenHeight"]), dtShow.Rows[i]["Content"].ToString(), programInx, Convert.ToInt32(dtShow.Rows[i]["ShowStyle"]), dtShow.Rows[i]["FontName"].ToString(), fontsize, 0x00FF, Convert.ToBoolean(dtShow.Rows[i]["FontBold"]), Convert.ToInt32(dtShow.Rows[i]["Position"])); //最后0 左对齐 1居中 2右对齐 if (LEDShow.SendData(addressNum)) //发送数据 { showInfo.SendState = "开始显示成功"; ledShowInfo.UpdateLEDShowInfoState(Convert.ToInt32(dtShow.Rows[i]["ID"]), 2); //更新状态显示成功-已显示 ledShowInfo.InserScreenLog(showInfo); //发送成功日志记录 } else { showInfo.SendState = "开始显示失败"; CurrentInfo.DataSendErro += dtShow.Rows[i]["ScreenId"].ToString() + ","; ledShowInfo.UpdateLEDShowInfoState(Convert.ToInt32(dtShow.Rows[i]["ID"]), 1); //更新状态显示失败 ledShowInfo.InserScreenLog(showInfo); //发送失败日志记录 } } else { showInfo.SendState = "打开屏幕失败"; ledShowInfo.UpdateLEDShowInfoState(Convert.ToInt32(dtShow.Rows[i]["ID"]), 1); //更新状态显示失败 ledShowInfo.InserScreenLog(showInfo); //发送失败日志记录 continue; } } catch { CurrentInfo.DataSendErro += dtShow.Rows[i]["ScreenId"].ToString() + ","; continue; } } //到结束时间,停止显示 DataTable dtOutShow = ledShowInfo.GetLEDShowInfos($@" and Tag = 2 and EndTime < CONVERT (CHAR(10), GETDATE(), 108)"); for (int i = 0; i < dtOutShow.Rows.Count; i++) { try { int addressNum = Convert.ToInt32(dtOutShow.Rows[i]["AddressNum"]); LEDShowInfo showEndInfo = new LEDShowInfo(); showEndInfo.ScreenId = dtOutShow.Rows[i]["ScreenId"].ToString(); showEndInfo.AddressNum = Convert.ToInt32(dtOutShow.Rows[i]["AddressNum"]); showEndInfo.BeginTime = dtOutShow.Rows[i]["BeginTime"].ToString(); showEndInfo.EndTime = dtOutShow.Rows[i]["EndTime"].ToString(); showEndInfo.Content = dtOutShow.Rows[i]["Content"].ToString(); showEndInfo.FontColor = dtOutShow.Rows[i]["FontColor"].ToString(); showEndInfo.FontName = dtOutShow.Rows[i]["FontName"].ToString(); showEndInfo.FontSize = Convert.ToInt32(dtOutShow.Rows[i]["FontSize"]); showEndInfo.ShowStyle = Convert.ToInt32(dtOutShow.Rows[i]["ShowStyle"]); showEndInfo.FontBold = Convert.ToBoolean(dtOutShow.Rows[i]["FontBold"]); showEndInfo.Position = Convert.ToInt32(dtOutShow.Rows[i]["Position"]); showEndInfo.Duration = Convert.ToInt32(dtOutShow.Rows[i]["Duration"]); LEDShow.DeleteProgram(addressNum); if (LEDShow.DeleteProgram(addressNum) && LEDShow.User_CloseScreen(addressNum)) //删除现有显示 关屏 { ledShowInfo.UpdateLEDShowInfoState(Convert.ToInt32(dtOutShow.Rows[i]["ID"]), 0); //更新状态 showEndInfo.SendState = "结束显示成功"; ledShowInfo.InserScreenLog(showEndInfo); //记录日志 } else { showEndInfo.SendState = "结束显示失败"; ledShowInfo.InserScreenLog(showEndInfo);//记录日志 } } catch { CurrentInfo.DataSendErro += dtOutShow.Rows[i]["ScreenId"].ToString() + ","; continue; } } lblError.Text = "显示失败:" + CurrentInfo.DataSendErro; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// 保存定时显示 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(cmbAreaId.Text) && GroupNum.Value > 0 && !string.IsNullOrEmpty(cmbByOrder.Text) && !string.IsNullOrEmpty(cmbScreens.Text) && !string.IsNullOrEmpty(txtGoupName.Text) && !string.IsNullOrEmpty(txtTIme.Text)) { if (GroupNum.Value > cmbScreens.Items.Count) { MessageBox.Show("超出屏幕总数!"); return; } if (dtpEnd.Value.Hour <= dtpBegin.Value.Hour && dtpEnd.Value.Minute - dtpBegin.Value.Minute < 1)//显示时长提示 { MessageBox.Show("设置的显示时间少于1分钟,请重新设置!"); return; } if (cmbByOrder.Text.Equals("正序")) { if (cmbScreens.SelectedIndex + GroupNum.Value > cmbScreens.Items.Count) { MessageBox.Show("超出区域屏幕范围!"); return; } else { for (int i = 0; i < Convert.ToInt32(GroupNum.Value); i++) { LEDShowInfo lEDShowInfo = new LEDShowInfo(); lEDShowInfo.ScreenId = ledInfo.Keys.ToArray()[cmbScreens.SelectedIndex + i]; lEDShowInfo.AddressNum = Convert.ToInt32(ledInfo.Values.ToArray()[cmbScreens.SelectedIndex + i]); lEDShowInfo.Content = i.ToString() + "←" + (i + 1).ToString() + "→" + (i + 2).ToString(); lEDShowInfo.BeginTime = dtpBegin.Value.ToShortTimeString(); lEDShowInfo.EndTime = dtpEnd.Value.ToShortTimeString(); lEDShowInfo.FontColor = fontColor; lEDShowInfo.FontName = fontName; //lEDShowInfo.FontSize = fontSize; lEDShowInfo.ShowStyle = 1; lEDShowInfo.Position = cmbPosition.Text.Equals("居中") ? 1 : cmbPosition.Text.Equals("左对齐") ? 0 : cmbPosition.Text.Equals("右对齐") ? 2 : 1; lEDShowInfo.FontBold = chkFontBold.Checked; lEDShowInfo.Duration = Convert.ToInt32(txtTIme.Text); lEDShowInfo.GroupName = txtGoupName.Text.Trim(); lEDShowInfo.DeleteUpProgram = chkDeleteProgram.Checked; ledShowInfo.InsertLedShowInfo(lEDShowInfo);//保存到显示记录表中 } } } else if (cmbByOrder.Text.Equals("倒序")) { if (cmbScreens.SelectedIndex + 1 - GroupNum.Value < 0) { MessageBox.Show("超出区域屏幕范围!"); return; } else { for (int i = Convert.ToInt32(GroupNum.Value); i > 0; i--) { LEDShowInfo lEDShowInfo = new LEDShowInfo(); lEDShowInfo.ScreenId = ledInfo.Keys.ToArray()[cmbScreens.SelectedIndex - Convert.ToInt32(GroupNum.Value) + i]; lEDShowInfo.AddressNum = Convert.ToInt32(ledInfo.Values.ToArray()[cmbScreens.SelectedIndex - Convert.ToInt32(GroupNum.Value) + i]); lEDShowInfo.Content = (i + 1).ToString() + "←" + i.ToString() + "→" + (i - 1).ToString(); lEDShowInfo.BeginTime = dtpBegin.Value.ToShortTimeString(); lEDShowInfo.EndTime = dtpEnd.Value.ToShortTimeString(); lEDShowInfo.FontColor = fontColor; lEDShowInfo.FontName = fontName; //lEDShowInfo.FontSize = fontSize; lEDShowInfo.ShowStyle = 1; lEDShowInfo.Position = cmbPosition.Text.Equals("居中") ? 1 : cmbPosition.Text.Equals("左对齐") ? 0 : cmbPosition.Text.Equals("右对齐") ? 2 : 0; lEDShowInfo.FontBold = chkFontBold.Checked; lEDShowInfo.Duration = Convert.ToInt32(txtTIme.Text); lEDShowInfo.GroupName = txtGoupName.Text.Trim(); lEDShowInfo.DeleteUpProgram = chkDeleteProgram.Checked; ledShowInfo.InsertLedShowInfo(lEDShowInfo);//保存到显示记录表中 } } } MessageBox.Show("保存成功!"); } else { MessageBox.Show("请继续完善信息!"); } } catch (Exception ex) { MessageBox.Show("保存错误!" + ex.ToString()); } }
/// <summary> /// 修改信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public bool UpdateLEDShowInfo(LEDShowInfo lEDShowInfo) { return(dalLedShowInfo.UpdateLEDShowInfo(lEDShowInfo)); }
/// <summary> /// 添加显示记录 /// </summary> /// <param name="lEDShowInfo"></param> /// <returns></returns> public bool InserScreenLog(LEDShowInfo lEDShowInfo) { return(dalLedShowInfo.InserScreenLog(lEDShowInfo)); }
/// <summary> /// 新增预设显示 /// </summary> /// <param name="lEDShowInfo"></param> /// <returns></returns> public bool InsertLedShowInfo(LEDShowInfo lEDShowInfo) { return(dalLedShowInfo.InsertLedShowInfo(lEDShowInfo)); }