コード例 #1
0
        private void AppendSynGroupNode(TreeNode aNode)
        {
            string[] str      = aNode.Tag.ToString().Split(';');
            int      key      = int.Parse(str[0]);
            SynGroup synGroup = _listSynGroup[key];

            if (synGroup.ListCameraMonitorPair == null)
            {
                return;
            }
            foreach (KeyValuePair <int, CameraMonitorPairInfo> camPair in synGroup.ListCameraMonitorPair)
            {
                var node = new TreeNode(camPair.Value.DeviceName + "_" + camPair.Value.Name + "_" + camPair.Value.DisplayChannelName);
                node.Tag = camPair.Key.ToString() + ";P;" + key.ToString() + ";G;" + camPair.Value.CameraId.ToString() + ";C;" + camPair.Value.DisplayChannelId + ";M";
                if (_lastSelectedTreeNode != null)
                {
                    if (_lastSelectedTreeNode.Tag.ToString() == node.Tag.ToString())
                    {
                        node.BackColor   = Color.Gray;
                        selectedTreeNode = node;
                        //treeViewSynGroup.SelectedNode = node;
                    }
                }
                aNode.Nodes.Add(node);
            }
        }
コード例 #2
0
        private void ToolStripMenuItemDeleteSynGroup_Click(object sender, EventArgs e)
        {
            if (treeViewSynGroup.SelectedNode.Nodes.Count != 0)
            {
                XtraMessageBox.Show("要删除的节点的子节点必须为空!");
                return;
            }
            string nodeText = treeViewSynGroup.SelectedNode.Tag.ToString();

            string[] nodes = nodeText.Split(';');
            SynGroup sg    = SynGroupBusiness.Instance.GetSynGroupBySynGroupId(ref errMessage, int.Parse(nodes[0]));

            if (sg != null)
            {
                SynGroupBusiness.Instance.Delete(ref errMessage, int.Parse(nodes[0]));
                OperateLogBusiness.Instance.Insert(ref errMessage,
                                                   new OperateLog
                {
                    HappenTime      = DateTime.Now,
                    ClientUserId    = MainForm.CurrentUser.UserId,
                    ClientUserName  = MainForm.CurrentUser.UserName,
                    Content         = sg.ToString(),
                    OperateTypeId   = (int)OperateLogTypeId.SynGroupDelete,
                    OperateTypeName = OperateLogTypeName.SynGroupDelete,
                    OperateUserName = MainForm.CurrentUser.UserName
                });
            }
        }
コード例 #3
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim() == "")
            {
                return;
            }
            SynGroup ogroup = new SynGroup();

            ogroup.Name        = txtName.Text;
            ogroup.Description = txtDescription.Text;
            errMessage         = "";
            switch (Opt)
            {
            case Util.Operateion.Add:
                GeroupId = SynGroupBusiness.Instance.Insert(ref errMessage, ogroup);
                OperateLogBusiness.Instance.Insert(ref errMessage, new OperateLog
                {
                    HappenTime      = DateTime.Now,
                    ClientUserId    = MainForm.CurrentUser.UserId,
                    ClientUserName  = MainForm.CurrentUser.UserName,
                    Content         = ogroup.ToString(),
                    OperateTypeId   = (int)OperateLogTypeId.SynGroupAdd,
                    OperateTypeName = OperateLogTypeName.SynGroupAdd,
                    OperateUserName = MainForm.CurrentUser.UserName
                });
                break;

            case Util.Operateion.Update:
                //ogroup.GroupID = GeroupId;
                GeroupId = SynGroupBusiness.Instance.Update(ref errMessage, ogroup);

                OperateLogBusiness.Instance.Insert(ref errMessage, new OperateLog
                {
                    HappenTime      = DateTime.Now,
                    ClientUserId    = MainForm.CurrentUser.UserId,
                    ClientUserName  = MainForm.CurrentUser.UserName,
                    Content         = ogroup.ToString(),
                    OperateTypeId   = (int)OperateLogTypeId.SynGroupUpdate,
                    OperateTypeName = OperateLogTypeName.SynGroupUpdate,
                    OperateUserName = MainForm.CurrentUser.UserName
                });
                break;

            case Util.Operateion.Delete:
                break;

            default:
                break;
            }
            if (errMessage.Length == 0)
            {
                this.Close();
            }
        }
コード例 #4
0
        public int Update(ref string errMessage, SynGroup synGroup)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                return(SynGroupDataAccess.Update(db, synGroup));
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                Logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(-1);
            }
        }
コード例 #5
0
        public SynGroup GetSynGroupBySynGroupName(ref string errMessage, string synGroupName)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                DataSet ds = SynGroupDataAccess.GetSynGroupBySynGroupName(db, synGroupName);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    return(null);
                }
                CameraInfo oCamera;
                DeviceInfo oDevice;

                var synGroup = new SynGroup(ds.Tables[0].Rows[0])
                {
                    ListCamera = new Dictionary <int, CameraInfo>()
                };

                //DataSet dsCamera = CameraDataAccess.GetCamInfoBySynGroupId(db, synGroup.SynGroupId);
                //synGroup.ListCamera = new Dictionary<int, CameraInfo>();
                //foreach (DataRow drCam in dsCamera.Tables[0].Rows)
                //{
                //    oCamera = new CameraInfo(drCam);
                //    synGroup.ListCamera.Add(oCamera.CameraId, oCamera);

                //}
                CameraMonitorPairInfo cameraMonitorPair;
                DataSet dsCameraMonitorPair = CameraMonitorPairDataAccess.GetCameraMonitorPairBySynGroupId(db, synGroup.SynGroupId);
                synGroup.ListCameraMonitorPair = new Dictionary <int, CameraMonitorPairInfo>();
                foreach (DataRow drCamMonPair in dsCameraMonitorPair.Tables[0].Rows)
                {
                    cameraMonitorPair = new CameraMonitorPairInfo(drCamMonPair);
                    synGroup.ListCameraMonitorPair.Add(cameraMonitorPair.CameraMonitorPairId, cameraMonitorPair);
                }
                return(synGroup);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                Logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
コード例 #6
0
        public Dictionary <int, SynGroup> GetAllSynGroups(ref string errMessage)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            var list = new Dictionary <int, SynGroup>();

            try
            {
                SynGroup              synGroup;
                DeviceInfo            oDevice;
                DataSet               ds = SynGroupDataAccess.GetAllSynGroupInfo(db);
                DataSet               dsCamera;
                CameraInfo            oCamera;
                DataSet               dsCameraMonitorPair;
                CameraMonitorPairInfo cameraMonitorPair;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    synGroup = new SynGroup(ds.Tables[0].Rows[i]);
                    //dsCamera = CameraDataAccess.GetCamInfoBySynGroupId(db, synGroup.SynGroupId);
                    //synGroup.ListCamera = new Dictionary<int, CameraInfo>();
                    //foreach (DataRow drCam in dsCamera.Tables[0].Rows)
                    //{
                    //    oCamera = new CameraInfo(drCam);
                    //    synGroup.ListCamera.Add(oCamera.CameraId, oCamera);
                    //}
                    dsCameraMonitorPair            = CameraMonitorPairDataAccess.GetCameraMonitorPairBySynGroupId(db, synGroup.SynGroupId);
                    synGroup.ListCameraMonitorPair = new Dictionary <int, CameraMonitorPairInfo>();
                    foreach (DataRow drCamMonPair in dsCameraMonitorPair.Tables[0].Rows)
                    {
                        cameraMonitorPair = new CameraMonitorPairInfo(drCamMonPair);
                        synGroup.ListCameraMonitorPair.Add(cameraMonitorPair.CameraMonitorPairId, cameraMonitorPair);
                    }

                    list.Add(synGroup.SynGroupId, synGroup);
                }
                return(list);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                Logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
コード例 #7
0
        private void buttonAddSynGroup_Click(object sender, EventArgs e)
        {
            if (treeViewSynGroupCamera.SelectedNode == null)
            {
                return;
            }
            if (treeViewSynGroup.SelectedNode == null)
            {
                return;
            }
            if (treeViewMonitor.SelectedNode == null)
            {
                return;
            }
            if (cbDisplayScreenNo.Text == "")
            {
                XtraMessageBox.Show("请正确选择输出通道!");
                return;
            }
            alCameras.Clear();
            getCameras(treeViewSynGroupCamera.SelectedNode);
            int synGroupToAdd = getSynGroupId(treeViewSynGroup.SelectedNode);

            alDisplayChannels.Clear();
            getDisplayChannels(treeViewMonitor.SelectedNode);
            int splitScreenNo = int.Parse(cbDisplayScreenNo.Text) - 1;

            foreach (int camid in alCameras)
            {
                foreach (int dc in alDisplayChannels)
                {
                    int addId = addCamera2SynGroup(synGroupToAdd, camid, dc, splitScreenNo);
                    if (addId == -1)
                    {
                        CameraInfo         ci = CameraBusiness.Instance.GetCameraInfoByCameraId(ref errMessage, camid);
                        SynGroup           sg = SynGroupBusiness.Instance.GetSynGroupBySynGroupId(ref errMessage, synGroupToAdd);
                        DisplayChannelInfo mi = DisplayChannelBusiness.Instance.GetDisplayChannelInfoById(ref errMessage, dc);
                        XtraMessageBox.Show(ci.DeviceName + "_" + ci.Name + "_" + mi.DisplayChannelName + " 在 " + sg.Name + " 组中已存在!");
                    }
                }
            }
            BuildSynGroupTree();
            DisplaySynGroupDetail();
        }
コード例 #8
0
        public static int Update(Database db, SynGroup oGroupInfo)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("update SynGroup set");
            sb.AppendFormat(" Name='{0}'", oGroupInfo.Name);
            sb.AppendFormat(",Description='{0}'", oGroupInfo.Description);
            sb.AppendFormat(" where GroupID={0})", oGroupInfo.SynGroupId);
            string cmdText = sb.ToString();

            try
            {
                return(db.ExecuteNonQuery(CommandType.Text, cmdText));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        private void DisplaySynGroupDetail()
        {
            dgvSynGroupDetail.Rows.Clear();
            lblGroupName.Text = "";
            if (_lastSelectedTreeNode == null)
            {
                return;
            }
            string str = _lastSelectedTreeNode.Tag.ToString();

            if (str.IndexOf("S") >= 0)
            {
                string[] strs     = str.Split(';');
                int      key      = int.Parse(strs[0]);
                SynGroup synGroup = _listSynGroup[key];
                lblGroupName.Text = synGroup.Name;
                foreach (KeyValuePair <int, CameraMonitorPairInfo> camPair in synGroup.ListCameraMonitorPair)
                {
                    int             index = dgvSynGroupDetail.Rows.Add();
                    DataGridViewRow dgvr  = dgvSynGroupDetail.Rows[index];
                    dgvr.Cells["Device"].Value      = camPair.Value.DeviceName;
                    dgvr.Cells["Camera"].Value      = camPair.Value.Name;
                    dgvr.Cells["Monitor"].Value     = camPair.Value.DisplayChannelName;
                    dgvr.Cells["SplitScreen"].Value = camPair.Value.DisplaySplitScreenNo + 1;
                }
            }
            else if (str.IndexOf("P") >= 0)
            {
                string[] strs     = str.Split(';');
                int      synId    = int.Parse(strs[2]);
                SynGroup synGroup = _listSynGroup[synId];
                lblGroupName.Text = synGroup.Name;
                int camPairId = int.Parse(strs[0]);
                CameraMonitorPairInfo cameraMonitorPairInfo = synGroup.ListCameraMonitorPair[camPairId];
                int             index = dgvSynGroupDetail.Rows.Add();
                DataGridViewRow dgvr  = dgvSynGroupDetail.Rows[index];
                dgvr.Cells["Device"].Value      = cameraMonitorPairInfo.DeviceName;
                dgvr.Cells["Camera"].Value      = cameraMonitorPairInfo.Name;
                dgvr.Cells["Monitor"].Value     = cameraMonitorPairInfo.DisplayChannelName;
                dgvr.Cells["SplitScreen"].Value = cameraMonitorPairInfo.DisplaySplitScreenNo + 1;
            }
        }
コード例 #10
0
        public static int Insert(Database db, SynGroup oGroupInfo)
        {
            StringBuilder sbField = new StringBuilder();
            StringBuilder sbValue = new StringBuilder();

            sbField.Append("INSERT INTO SynGroup(");
            sbValue.Append("values(");
            sbField.Append("Name");
            sbValue.AppendFormat("'{0}'", oGroupInfo.Name);
            sbField.Append(",Description)");
            sbValue.AppendFormat(",'{0}')", oGroupInfo.Description);
            string cmdText = sbField.ToString() + " " + sbValue.ToString() + "";

            try
            {
                return(db.ExecuteNonQuery(CommandType.Text, cmdText));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #11
0
ファイル: SYNCOMLib.cs プロジェクト: yiding/TPMiddleTray
 public virtual extern void Copy([MarshalAs(UnmanagedType.Interface)] SynGroup pFrom);