private void AddToGridCamera(Maticsoft.Model.SMT_CAMERA_INFO camera, DataGridViewRow row = null) { DataGridViewRow dgvr = null; if (row == null) { dgvr = new DataGridViewRow(); dgvr.CreateCells(dgvCamera); } else { dgvr = row; } dgvr.SetValues(camera.CAMERA_NAME, camera.CAMERA_IP, camera.CAMERA_PORT, camera.CAMERA_USER, "******", camera.CAMERA_CAP_PORT, camera.CAMERA_CAP_TYPE, "修改", "删除"); dgvr.Tag = camera; if (row == null) { dgvCamera.Rows.Add(dgvr); } }
private void btnOk_Click(object sender, EventArgs e) { if (tbIp.Text.Trim() == "") { WinInfoHelper.ShowInfoWindow(this, "IP不能为空!"); return; } if (CAMERA == null) { CAMERA = new Maticsoft.Model.SMT_CAMERA_INFO(); CAMERA.ID = -1; } CAMERA.CAMERA_NAME = tbCameraName.Text.Trim(); CAMERA.CAMERA_IP = tbIp.Text.Trim(); CAMERA.CAMERA_PORT = iiPort.Value; CAMERA.CAMERA_USER = tbUser.Text.Trim(); CAMERA.CAMERA_PWD = tbPwd.Text; CAMERA.CAMERA_MODEL = (string)cbModel.SelectedItem; CAMERA.CAMERA_CAP_TYPE = (string)cbCapType.SelectedItem; CAMERA.CAMERA_CAP_PORT = iiCapPort.Value; CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_CAMERA_INFO cameraBll = new Maticsoft.BLL.SMT_CAMERA_INFO(); if (CAMERA.ID == -1) { CAMERA.ID = cameraBll.Add(CAMERA); } else { cameraBll.Update(CAMERA); } SmtLog.Info("配置", "配置摄像头:" + CAMERA.CAMERA_NAME + ",IP=" + CAMERA.CAMERA_IP); this.BeginInvoke(new Action(() => { this.DialogResult = DialogResult.OK; this.Close(); })); } catch (Exception ex) { log.Error("添加摄像头失败:", ex); WinInfoHelper.ShowInfoWindow(this, "添加相机失败!" + ex.Message); } }); waiting.Show(this); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Maticsoft.Model.SMT_CAMERA_INFO model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update SMT_CAMERA_INFO set "); strSql.Append("CAMERA_NAME=@CAMERA_NAME,"); strSql.Append("CAMERA_IP=@CAMERA_IP,"); strSql.Append("CAMERA_PORT=@CAMERA_PORT,"); strSql.Append("CAMERA_CAP_PORT=@CAMERA_CAP_PORT,"); strSql.Append("CAMERA_USER=@CAMERA_USER,"); strSql.Append("CAMERA_PWD=@CAMERA_PWD,"); strSql.Append("CAMERA_MODEL=@CAMERA_MODEL,"); strSql.Append("CAMERA_CAP_TYPE=@CAMERA_CAP_TYPE"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@CAMERA_NAME", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_IP", SqlDbType.VarChar, 100), new SqlParameter("@CAMERA_PORT", SqlDbType.Int, 4), new SqlParameter("@CAMERA_CAP_PORT", SqlDbType.Int, 4), new SqlParameter("@CAMERA_USER", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_PWD", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_MODEL", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_CAP_TYPE", SqlDbType.VarChar, 50), new SqlParameter("@ID", SqlDbType.Decimal, 9) }; parameters[0].Value = model.CAMERA_NAME; parameters[1].Value = model.CAMERA_IP; parameters[2].Value = model.CAMERA_PORT; parameters[3].Value = model.CAMERA_CAP_PORT; parameters[4].Value = model.CAMERA_USER; parameters[5].Value = model.CAMERA_PWD; parameters[6].Value = model.CAMERA_MODEL; parameters[7].Value = model.CAMERA_CAP_TYPE; parameters[8].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_CAMERA_INFO DataRowToModel(DataRow row) { Maticsoft.Model.SMT_CAMERA_INFO model = new Maticsoft.Model.SMT_CAMERA_INFO(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = decimal.Parse(row["ID"].ToString()); } if (row["CAMERA_NAME"] != null) { model.CAMERA_NAME = row["CAMERA_NAME"].ToString(); } if (row["CAMERA_IP"] != null) { model.CAMERA_IP = row["CAMERA_IP"].ToString(); } if (row["CAMERA_PORT"] != null && row["CAMERA_PORT"].ToString() != "") { model.CAMERA_PORT = int.Parse(row["CAMERA_PORT"].ToString()); } if (row["CAMERA_CAP_PORT"] != null && row["CAMERA_CAP_PORT"].ToString() != "") { model.CAMERA_CAP_PORT = int.Parse(row["CAMERA_CAP_PORT"].ToString()); } if (row["CAMERA_USER"] != null) { model.CAMERA_USER = row["CAMERA_USER"].ToString(); } if (row["CAMERA_PWD"] != null) { model.CAMERA_PWD = row["CAMERA_PWD"].ToString(); } if (row["CAMERA_MODEL"] != null) { model.CAMERA_MODEL = row["CAMERA_MODEL"].ToString(); } if (row["CAMERA_CAP_TYPE"] != null) { model.CAMERA_CAP_TYPE = row["CAMERA_CAP_TYPE"].ToString(); } } return(model); }
private void AddToGridDoorCamera(Maticsoft.Model.SMT_DOOR_INFO door, Maticsoft.Model.SMT_CAMERA_INFO camera, bool enable) { DataGridViewRow dgvr = new DataGridViewRow(); dgvr.CreateCells(dgvDoorCamera, door.DOOR_NAME, camera.CAMERA_NAME + "[" + camera.CAMERA_IP + "]", enable, "删除" ); DoorCamera dc = new DoorCamera() { DOOR_ID = door.ID, CAMERA_ID = camera.ID }; dgvr.Tag = dc; dgvDoorCamera.Rows.Add(dgvr); }
private void dgvCamera_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { if (dgvCamera.Columns[e.ColumnIndex].Name == "Col_Delete") { if (MessageBox.Show("确定删除该摄像头?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { Maticsoft.Model.SMT_CAMERA_INFO camera = (Maticsoft.Model.SMT_CAMERA_INFO)dgvCamera.Rows[e.RowIndex].Tag; CtrlWaiting waiting = new CtrlWaiting(() => { try { Maticsoft.BLL.SMT_CAMERA_INFO cameraBll = new Maticsoft.BLL.SMT_CAMERA_INFO(); cameraBll.Delete(camera.ID); Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("delete from smt_door_camera where camera_id=" + camera.ID); this.Invoke(new Action(() => { dgvCamera.Rows.Remove(dgvCamera.Rows[e.RowIndex]); })); } catch (Exception ex) { log.Error("删除摄像头异常:", ex); WinInfoHelper.ShowInfoWindow(this, "删除摄像头异常!" + ex.Message); } }); waiting.Show(this); } } else if (dgvCamera.Columns[e.ColumnIndex].Name == "Col_Modify") { Maticsoft.Model.SMT_CAMERA_INFO camera = (Maticsoft.Model.SMT_CAMERA_INFO)dgvCamera.Rows[e.RowIndex].Tag; FrmAddCamera frmAddCamera = new FrmAddCamera(); frmAddCamera.CAMERA = camera; if (frmAddCamera.ShowDialog(this) == DialogResult.OK) { AddToGridCamera(frmAddCamera.CAMERA, dgvCamera.Rows[e.RowIndex]); } } } }
/// <summary> /// 增加一条数据 /// </summary> public decimal Add(Maticsoft.Model.SMT_CAMERA_INFO model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SMT_CAMERA_INFO("); strSql.Append("CAMERA_NAME,CAMERA_IP,CAMERA_PORT,CAMERA_CAP_PORT,CAMERA_USER,CAMERA_PWD,CAMERA_MODEL,CAMERA_CAP_TYPE)"); strSql.Append(" values ("); strSql.Append("@CAMERA_NAME,@CAMERA_IP,@CAMERA_PORT,@CAMERA_CAP_PORT,@CAMERA_USER,@CAMERA_PWD,@CAMERA_MODEL,@CAMERA_CAP_TYPE)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@CAMERA_NAME", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_IP", SqlDbType.VarChar, 100), new SqlParameter("@CAMERA_PORT", SqlDbType.Int, 4), new SqlParameter("@CAMERA_CAP_PORT", SqlDbType.Int, 4), new SqlParameter("@CAMERA_USER", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_PWD", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_MODEL", SqlDbType.NVarChar, 100), new SqlParameter("@CAMERA_CAP_TYPE", SqlDbType.VarChar, 50) }; parameters[0].Value = model.CAMERA_NAME; parameters[1].Value = model.CAMERA_IP; parameters[2].Value = model.CAMERA_PORT; parameters[3].Value = model.CAMERA_CAP_PORT; parameters[4].Value = model.CAMERA_USER; parameters[5].Value = model.CAMERA_PWD; parameters[6].Value = model.CAMERA_MODEL; parameters[7].Value = model.CAMERA_CAP_TYPE; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToDecimal(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_CAMERA_INFO GetModel(decimal ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,CAMERA_NAME,CAMERA_IP,CAMERA_PORT,CAMERA_CAP_PORT,CAMERA_USER,CAMERA_PWD,CAMERA_MODEL,CAMERA_CAP_TYPE from SMT_CAMERA_INFO "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Decimal) }; parameters[0].Value = ID; Maticsoft.Model.SMT_CAMERA_INFO model = new Maticsoft.Model.SMT_CAMERA_INFO(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
private void biAddDoorCamera_Click(object sender, EventArgs e) { var node = this.doorTree.Tree.SelectedNode; if (node == null) { WinInfoHelper.ShowInfoWindow(this, "请选择门禁!"); return; } if (node.Tag is Maticsoft.Model.SMT_DOOR_INFO) { Maticsoft.Model.SMT_DOOR_INFO door = (Maticsoft.Model.SMT_DOOR_INFO)node.Tag; var rows = dgvCamera.SelectedRows; if (rows.Count == 0) { WinInfoHelper.ShowInfoWindow(this, "请选择摄像头!"); return; } List <Maticsoft.Model.SMT_CAMERA_INFO> cameras = new List <Maticsoft.Model.SMT_CAMERA_INFO>(); foreach (DataGridViewRow row in rows) { Maticsoft.Model.SMT_CAMERA_INFO cameraInfo = (Maticsoft.Model.SMT_CAMERA_INFO)row.Tag; cameras.Add(cameraInfo); } CtrlWaiting waiting = new CtrlWaiting(() => { try { foreach (var camera in cameras) { Maticsoft.BLL.SMT_DOOR_CAMERA dcBll = new Maticsoft.BLL.SMT_DOOR_CAMERA(); var dcModel = dcBll.GetModel(door.ID, camera.ID); if (dcModel == null) { dcModel = new Maticsoft.Model.SMT_DOOR_CAMERA(); dcModel.DOOR_ID = door.ID; dcModel.CAMERA_ID = camera.ID; dcModel.ENABLE_CAP = cbEnableCap.Checked; dcBll.Add(dcModel); this.Invoke(new Action(() => { AddToGridDoorCamera(door, camera, dcModel.ENABLE_CAP); })); } else { if (dcModel.ENABLE_CAP != cbEnableCap.Checked) { dcModel.ENABLE_CAP = cbEnableCap.Checked; dcBll.Update(dcModel); this.Invoke(new Action(() => { foreach (DataGridViewRow row in this.dgvDoorCamera.Rows) { DoorCamera dc = (DoorCamera)row.Tag; if (dc.DOOR_ID == door.ID && dc.CAMERA_ID == camera.ID) { row.Cells[2].Value = dcModel.ENABLE_CAP; break; } } })); } } } } catch (Exception ex) { log.Error("添加关系异常:", ex); WinInfoHelper.ShowInfoWindow(this, "添加门禁相机关系异常:" + ex.Message); } }); waiting.Show(this); } else { WinInfoHelper.ShowInfoWindow(this, "请选择门禁节点!"); } }