Esempio n. 1
0
 private void dgvDoorCamera_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         if (e.ColumnIndex == 2)
         {
             bool        enable  = (bool)dgvDoorCamera.Rows[e.RowIndex].Cells[2].Value;
             DoorCamera  dc      = (DoorCamera)dgvDoorCamera.Rows[e.RowIndex].Tag;
             CtrlWaiting waiting = new CtrlWaiting(() =>
             {
                 try
                 {
                     Maticsoft.BLL.SMT_DOOR_CAMERA dcBll     = new Maticsoft.BLL.SMT_DOOR_CAMERA();
                     Maticsoft.Model.SMT_DOOR_CAMERA dcModel = new Maticsoft.Model.SMT_DOOR_CAMERA()
                     {
                         DOOR_ID    = dc.DOOR_ID,
                         CAMERA_ID  = dc.CAMERA_ID,
                         ENABLE_CAP = !enable
                     };
                     dcBll.Update(dcModel);
                     this.Invoke(new Action(() =>
                     {
                         dgvDoorCamera.Rows[e.RowIndex].Cells[2].Value = dcModel.ENABLE_CAP;
                     }));
                 }
                 catch (System.Exception ex)
                 {
                     log.Error("更新门禁相机关系异常:", ex);
                     WinInfoHelper.ShowInfoWindow(this, "更新门禁相机关系异常:" + ex.Message);
                 }
             });
             waiting.Show(this);
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Maticsoft.Model.SMT_DOOR_CAMERA model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update SMT_DOOR_CAMERA set ");
            strSql.Append("ENABLE_CAP=@ENABLE_CAP");
            strSql.Append(" where DOOR_ID=@DOOR_ID and CAMERA_ID=@CAMERA_ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ENABLE_CAP", SqlDbType.Bit,     1),
                new SqlParameter("@DOOR_ID",    SqlDbType.Decimal, 9),
                new SqlParameter("@CAMERA_ID",  SqlDbType.Decimal, 9)
            };
            parameters[0].Value = model.ENABLE_CAP;
            parameters[1].Value = model.DOOR_ID;
            parameters[2].Value = model.CAMERA_ID;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Maticsoft.Model.SMT_DOOR_CAMERA model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into SMT_DOOR_CAMERA(");
            strSql.Append("DOOR_ID,CAMERA_ID,ENABLE_CAP)");
            strSql.Append(" values (");
            strSql.Append("@DOOR_ID,@CAMERA_ID,@ENABLE_CAP)");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DOOR_ID",    SqlDbType.Decimal, 9),
                new SqlParameter("@CAMERA_ID",  SqlDbType.Decimal, 9),
                new SqlParameter("@ENABLE_CAP", SqlDbType.Bit, 1)
            };
            parameters[0].Value = model.DOOR_ID;
            parameters[1].Value = model.CAMERA_ID;
            parameters[2].Value = model.ENABLE_CAP;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 得到一个对象实体
 /// </summary>
 public Maticsoft.Model.SMT_DOOR_CAMERA DataRowToModel(DataRow row)
 {
     Maticsoft.Model.SMT_DOOR_CAMERA model = new Maticsoft.Model.SMT_DOOR_CAMERA();
     if (row != null)
     {
         if (row["DOOR_ID"] != null && row["DOOR_ID"].ToString() != "")
         {
             model.DOOR_ID = decimal.Parse(row["DOOR_ID"].ToString());
         }
         if (row["CAMERA_ID"] != null && row["CAMERA_ID"].ToString() != "")
         {
             model.CAMERA_ID = decimal.Parse(row["CAMERA_ID"].ToString());
         }
         if (row["ENABLE_CAP"] != null && row["ENABLE_CAP"].ToString() != "")
         {
             if ((row["ENABLE_CAP"].ToString() == "1") || (row["ENABLE_CAP"].ToString().ToLower() == "true"))
             {
                 model.ENABLE_CAP = true;
             }
             else
             {
                 model.ENABLE_CAP = false;
             }
         }
     }
     return(model);
 }
Esempio n. 5
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Maticsoft.Model.SMT_DOOR_CAMERA GetModel(decimal DOOR_ID, decimal CAMERA_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 DOOR_ID,CAMERA_ID,ENABLE_CAP from SMT_DOOR_CAMERA ");
            strSql.Append(" where DOOR_ID=@DOOR_ID and CAMERA_ID=@CAMERA_ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DOOR_ID",   SqlDbType.Decimal, 9),
                new SqlParameter("@CAMERA_ID", SqlDbType.Decimal, 9)
            };
            parameters[0].Value = DOOR_ID;
            parameters[1].Value = CAMERA_ID;

            Maticsoft.Model.SMT_DOOR_CAMERA model = new Maticsoft.Model.SMT_DOOR_CAMERA();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 6
0
        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, "请选择门禁节点!");
            }
        }