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); } }
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); } }
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(); }