public ProgSwitchInfo GetProgSwitchById(ref string errMessage, int progSwitchId)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                DataSet ds = ProgSwitchDataAccess.GetProgSwitchById(db, progSwitchId);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    return(null);
                }
                var progSwitchInfo = new ProgSwitchInfo(ds.Tables[0].Rows[0])
                {
                    ListProgSwitchDetailInfo = new Dictionary <int, ProgSwitchDetailInfo>()
                };

                var progSwitchDetail = ProgSwitchDetailDataAccess.GetProgSwitchDetailByProgSwitchId(db, progSwitchInfo.Id);
                progSwitchInfo.ListProgSwitchDetailInfo = new Dictionary <int, ProgSwitchDetailInfo>();
                //对于一个程序切换中的所有与程序切换有联系的记录
                foreach (DataRow drpsd in progSwitchDetail.Tables[0].Rows)
                {
                    var progSwitchDetailInfo = new ProgSwitchDetailInfo(drpsd);
                    progSwitchInfo.ListProgSwitchDetailInfo.Add(progSwitchDetailInfo.ProgSwitchDetailId, progSwitchDetailInfo);
                }
                return(progSwitchInfo);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                Logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
Example #2
0
        private void DisplayProgSwitchDetail()
        {
            dgvProgSwitchDetail.Rows.Clear();
            lblProgSwitchName.Text = "";
            if (_lastSelectedProgSwitchTreeNode == null)
            {
                return;
            }
            string str = _lastSelectedProgSwitchTreeNode.Tag.ToString();

            if (str.IndexOf("D") < 0)
            {
                string[]       strs           = str.Split(';');
                int            psID           = int.Parse(strs[0]);
                ProgSwitchInfo progSwitchInfo = _listProgSwitch[psID];
                lblProgSwitchName.Text = progSwitchInfo.Name;
                foreach (KeyValuePair <int, ProgSwitchDetailInfo> keyValuePair in progSwitchInfo.ListProgSwitchDetailInfo)
                {
                    int             index = dgvProgSwitchDetail.Rows.Add();
                    DataGridViewRow dgvr  = dgvProgSwitchDetail.Rows[index];
                    dgvr.Cells["ProgSwitchDevice"].Value               = keyValuePair.Value.DeviceName;
                    dgvr.Cells["ProgSwitchCamera"].Value               = keyValuePair.Value.CameraName;
                    dgvr.Cells["ProgSwitchMonitor"].Value              = progSwitchInfo.DisplayChannelName;
                    dgvr.Cells["ProgSwitchTick"].Value                 = keyValuePair.Value.TickTime;
                    dgvr.Cells["ProgSwitchDetailId"].Value             = keyValuePair.Key;
                    dgvr.Cells["ProgSwitchDisplaySplitScreenNo"].Value = progSwitchInfo.DisplaySplitScreenNo;
                }
            }
            else if (str.IndexOf("D") >= 0)
            {
                string[]       strs           = str.Split(';');
                int            psID           = int.Parse(strs[2]);
                ProgSwitchInfo progSwitchInfo = _listProgSwitch[psID];
                lblProgSwitchName.Text = progSwitchInfo.Name;
                int detailId = int.Parse(strs[0]);
                ProgSwitchDetailInfo progSwitchDetailInfo = progSwitchInfo.ListProgSwitchDetailInfo[detailId];
                int             index = dgvProgSwitchDetail.Rows.Add();
                DataGridViewRow dgvr  = dgvProgSwitchDetail.Rows[index];
                dgvr.Cells["ProgSwitchDevice"].Value               = progSwitchDetailInfo.DeviceName;
                dgvr.Cells["ProgSwitchCamera"].Value               = progSwitchDetailInfo.CameraName;
                dgvr.Cells["ProgSwitchMonitor"].Value              = progSwitchInfo.DisplayChannelName;
                dgvr.Cells["ProgSwitchTick"].Value                 = progSwitchDetailInfo.TickTime;
                dgvr.Cells["ProgSwitchDetailId"].Value             = progSwitchDetailInfo.ProgSwitchDetailId;
                dgvr.Cells["ProgSwitchDisplaySplitScreenNo"].Value = progSwitchInfo.DisplaySplitScreenNo;
            }
        }
        public Dictionary <int, ProgSwitchInfo> GetAllProgSwitchs(ref string errMessage)
        {
            Database db = DatabaseFactory.CreateDatabase();

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

            try
            {
                ProgSwitchInfo       progSwitchInfo;
                DataSet              ds = ProgSwitchDataAccess.GetAllProgSwitchInfo(db);
                DataSet              dsProgSwitchDetail;
                ProgSwitchDetailInfo progSwitchDetailInfo;

                //对于每一个程序切换
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    progSwitchInfo = new ProgSwitchInfo(ds.Tables[0].Rows[i]);

                    dsProgSwitchDetail = ProgSwitchDetailDataAccess.GetProgSwitchDetailByProgSwitchId(db, progSwitchInfo.Id);
                    progSwitchInfo.ListProgSwitchDetailInfo = new Dictionary <int, ProgSwitchDetailInfo>();
                    //对于一个程序切换中的所有与程序切换有联系的记录
                    foreach (DataRow drpsd in dsProgSwitchDetail.Tables[0].Rows)
                    {
                        progSwitchDetailInfo = new ProgSwitchDetailInfo(drpsd);

                        progSwitchInfo.ListProgSwitchDetailInfo.Add(progSwitchDetailInfo.ProgSwitchDetailId, progSwitchDetailInfo);
                    }

                    list.Add(progSwitchInfo.Id, progSwitchInfo);
                }
                return(list);
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                Logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(null);
            }
        }
Example #4
0
        private void btnDeleteProgSwitchDetail_Click(object sender, EventArgs e)
        {
            if (_lastSelectedProgSwitchTreeNode == null)
            {
                return;
            }
            string selectTagStr = _lastSelectedProgSwitchTreeNode.Tag.ToString();

            if (selectTagStr.IndexOf("D") < 0)
            {
                if (_lastSelectedProgSwitchTreeNode.FirstNode != null)
                {
                    XtraMessageBox.Show("程序切换非空,不能直接删除!");
                }
                else
                {
                    string[] strs         = selectTagStr.Split(';');
                    int      progSwitchId = int.Parse(strs[0]);
                    _lastSelectedProgSwitchTreeNode = tvProgSwitch.SelectedNode.PrevNode;

                    ProgSwitchInfo progSwitchInfo = ProgSwitchBusiness.Instance.GetProgSwitchById(ref errMessage,
                                                                                                  progSwitchId);
                    ProgSwitchBusiness.Instance.Delete(ref errMessage, progSwitchId);

                    OperateLogBusiness.Instance.Insert(ref errMessage,
                                                       new OperateLog
                    {
                        ClientUserId    = MainForm.CurrentUser.UserId,
                        ClientUserName  = MainForm.CurrentUser.UserName,
                        Content         = progSwitchInfo.ToString(),
                        HappenTime      = DateTime.Now,
                        OperateTypeId   = (int)(OperateLogTypeId.ProgSwitchDelete),
                        OperateTypeName = OperateLogTypeName.ProgSwitchDelete,
                        OperateUserName = MainForm.CurrentUser.UserName
                    });
                }
            }
            else
            {
                string[]             tagStrs              = selectTagStr.Split(';');
                int                  detailId             = int.Parse(tagStrs[0]);
                ProgSwitchDetailInfo progSwitchDetailInfo =
                    ProgSwitchDetailBusiness.Instance.GetProgSwitchDetailByDetailId(ref errMessage, detailId);

                ProgSwitchDetailBusiness.Instance.DeleteProgSwitchDetailById(ref errMessage, detailId);

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

                _lastSelectedProgSwitchTreeNode = _lastSelectedProgSwitchTreeNode.PrevNode ??
                                                  _lastSelectedProgSwitchTreeNode.Parent;
            }

            LoadProgSwitch();
        }