public ManualControlBoard ToManualControlBoard() { ManualControlBoard mcb = new ManualControlBoard(); mcb.ID = this.ID; mcb.Code = this.Code; mcb.BoardNo = this.BoardNo; mcb.SubBoardNo = this.SubBoardNo; mcb.KeyNo = this.KeyNo; mcb.DeviceCode = this.DeviceCode; mcb.ControlType = this.ControlType; mcb.LocalDevice1 = this.LocalDevice1; mcb.LocalDevice2 = this.LocalDevice2; mcb.LocalDevice3 = this.LocalDevice3; mcb.LocalDevice4 = this.LocalDevice4; mcb.NetDevice1 = this.NetDevice1; mcb.NetDevice2 = this.NetDevice2; mcb.NetDevice3 = this.NetDevice3; mcb.NetDevice4 = this.NetDevice4; mcb.BuildingNo = this.BuildingNo; mcb.AreaNo = this.AreaNo; mcb.FloorNo = this.FloorNo; mcb.DeviceType = this.DeviceType; mcb.LinkageGroup = this.LinkageGroup; mcb.SDPKey = this.SDPKey; mcb.MaxSubBoardNo = this.MaxSubBoardNo; mcb.Controller = this.Controller; mcb.ControllerID = this.ControllerID; return(mcb); }
public bool Update(ManualControlBoard mcb) { try { ManualControlBoard result = _controller.ControlBoard.Find( delegate(ManualControlBoard x) { return(x.ID == mcb.ID); } ); if (result != null)//更新数据 { result.Code = mcb.Code; result.BoardNo = mcb.BoardNo; result.SubBoardNo = mcb.SubBoardNo; result.KeyNo = mcb.KeyNo; result.DeviceCode = mcb.DeviceCode; result.SDPKey = mcb.SDPKey; result.MaxSubBoardNo = mcb.MaxSubBoardNo; result.Controller = mcb.Controller; result.ControllerID = mcb.ControllerID; } else { _controller.ControlBoard.Add(mcb); DataRecordAlreadySet = true; ProjectManager.GetInstance.MaxIDForManualControlBoard++; } } catch { return(false); } return(true); }
public EditableManualControlBoard(ManualControlBoard mcb) { this.ID = mcb.ID; this.Code = mcb.Code; this.BoardNo = mcb.BoardNo; this.SubBoardNo = mcb.SubBoardNo; this.KeyNo = mcb.KeyNo; this.DeviceCode = mcb.DeviceCode; this.DeviceType = mcb.DeviceType; this.LocalDevice1 = mcb.LocalDevice1; this.LocalDevice2 = mcb.LocalDevice2; this.LocalDevice3 = mcb.LocalDevice3; this.LocalDevice4 = mcb.LocalDevice4; this.NetDevice1 = mcb.NetDevice1; this.NetDevice2 = mcb.NetDevice2; this.NetDevice3 = mcb.NetDevice3; this.NetDevice4 = mcb.NetDevice4; this.BuildingNo = mcb.BuildingNo; this.AreaNo = mcb.AreaNo; this.FloorNo = mcb.FloorNo; this.ControlType = mcb.ControlType; this.LinkageGroup = mcb.LinkageGroup; this.SDPKey = mcb.SDPKey; this.MaxSubBoardNo = mcb.MaxSubBoardNo; this.Controller = mcb.Controller; this.ControllerID = mcb.ControllerID; ToControlTypeString(); }
public List <ManualControlBoard> GetManualControlBoard() { List <ManualControlBoard> lstManualControlBoard = new List <ManualControlBoard>(); try { StringBuilder sbQuerySQL = new StringBuilder(); //set sdpkey=xianggh,xianggh= (Round((xianggh/756)+.4999999)-1),panhao=IIF(Round(((xianggh/63))+.4999999)>12,Round(((xianggh/63))+.4999999)-12,Round(((xianggh/63))+.4999999)),jianhao=IIF((xianggh Mod 63)=0,63,xianggh Mod 63) //(5)网络手控盘 sbQuerySQL = sbQuerySQL.Append("select 编号,板卡号,盘号,键号,地编号,sdpkey from 网络手控盘;"); DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL); int dtRowsCount = dt.Rows.Count; for (int i = 0; i < dtRowsCount; i++) { ManualControlBoard manualControlBoard = new ManualControlBoard(); manualControlBoard.Code = Convert.ToInt32(dt.Rows[i]["编号"]); manualControlBoard.BoardNo = Convert.ToInt32(dt.Rows[i]["板卡号"]); manualControlBoard.SubBoardNo = Convert.ToInt32(dt.Rows[i]["盘号"]); manualControlBoard.KeyNo = Convert.ToInt32(dt.Rows[i]["键号"]); manualControlBoard.DeviceCode = dt.Rows[i]["地编号"].ToString(); manualControlBoard.SDPKey = dt.Rows[i]["sdpkey"].ToString(); lstManualControlBoard.Add(manualControlBoard); } } catch { } return(lstManualControlBoard); }
public bool Update(ManualControlBoard mcb) { try { ManualControlBoard result = _controller.ControlBoard.Find( delegate(ManualControlBoard x) { return(x.ID == mcb.ID); } ); if (result != null)//更新数据 { result.Code = mcb.Code; result.BoardNo = mcb.BoardNo; result.SubBoardNo = mcb.SubBoardNo; result.KeyNo = mcb.KeyNo; result.DeviceCode = mcb.DeviceCode; result.DeviceType = mcb.DeviceType; result.LocalDevice1 = mcb.LocalDevice1; result.LocalDevice2 = mcb.LocalDevice2; result.LocalDevice3 = mcb.LocalDevice3; result.LocalDevice4 = mcb.LocalDevice4; result.NetDevice1 = mcb.NetDevice1; result.NetDevice2 = mcb.NetDevice2; result.NetDevice3 = mcb.NetDevice3; result.NetDevice4 = mcb.NetDevice4; result.BuildingNo = mcb.BuildingNo; result.AreaNo = mcb.AreaNo; result.FloorNo = mcb.FloorNo; result.ControlType = mcb.ControlType; result.LinkageGroup = mcb.LinkageGroup; result.SDPKey = mcb.SDPKey; result.MaxSubBoardNo = mcb.MaxSubBoardNo; result.Controller = mcb.Controller; result.ControllerID = mcb.ControllerID; } else { _controller.ControlBoard.Add(mcb); DataRecordAlreadySet = true; if (mcb.ID > ProjectManager.GetInstance.MaxIDForManualControlBoard) { ProjectManager.GetInstance.MaxIDForManualControlBoard = mcb.ID; } else { ProjectManager.GetInstance.MaxIDForManualControlBoard++; } } } catch { return(false); } return(true); }
public void RefreshCollection(object param) { if (param != null) { ManualControlBoard mcb = (ManualControlBoard)param; EditableManualControlBoard eMCB = ManualControlBoardInfoObservableCollection.Where((d) => d.ID == mcb.ID).FirstOrDefault(); eMCB.DeviceCode = mcb.DeviceCode; } DeviceItemSelectorVisibility = Visibility.Collapsed; }
public EditableManualControlBoard(ManualControlBoard mcb) { this.ID = mcb.ID; this.Code = mcb.Code; this.BoardNo = mcb.BoardNo; this.SubBoardNo = mcb.SubBoardNo; this.KeyNo = mcb.KeyNo; this.DeviceCode = mcb.DeviceCode; this.SDPKey = mcb.SDPKey; this.MaxSubBoardNo = mcb.MaxSubBoardNo; this.Controller = mcb.Controller; this.ControllerID = mcb.ControllerID; }
public ManualControlBoard ToManualControlBoard() { ManualControlBoard mcb = new ManualControlBoard(); mcb.ID = this.ID; mcb.Code = this.Code; mcb.BoardNo = this.BoardNo; mcb.SubBoardNo = this.SubBoardNo; mcb.KeyNo = this.KeyNo; mcb.DeviceCode = this.DeviceCode; mcb.SDPKey = this.SDPKey; mcb.MaxSubBoardNo = this.MaxSubBoardNo; mcb.Controller = this.Controller; mcb.ControllerID = this.ControllerID; return(mcb); }
public bool DeleteBySpecifiedID(int id) { try { var result = from mcb in _controller.ControlBoard where mcb.ID == id select mcb; ManualControlBoard board = result.FirstOrDefault(); if (board != null) { _controller.ControlBoard.Remove(board); } } catch { return(false); } return(true); }
public List <ManualControlBoard> Create(int amount) { List <ManualControlBoard> lstMCB = new List <ManualControlBoard>(); if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号 { _maxCode = GetMaxCode(); _maxID = GetMaxID(); } int tempCode = _maxCode; if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行 { amount = 0; } else { if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数 { amount = MaxManualControlBoardAmount - tempCode; } for (int i = 0; i < amount; i++) { tempCode++; _maxID++; ManualControlBoard mcb = new ManualControlBoard(); mcb.Controller = _controller; mcb.ControllerID = _controller.ID; mcb.Code = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0'); mcb.ID = _maxID; mcb.IsDirty = true; lstMCB.Add(mcb); } _maxCode = tempCode; DataRecordAlreadySet = false; foreach (var singleItem in lstMCB) { Update(singleItem); } } return(lstMCB); }
public void SelectDeviceExecute(int id, object args) { if (args != null) { EditableManualControlBoard eMCB = args as EditableManualControlBoard; if (eMCB != null) { ManualControlBoard mcb = eMCB.ToManualControlBoard(); CreateManualControlBoardVisibility = Visibility.Collapsed; DeviceItemSelectorVisibility = Visibility.Collapsed; ManualDeviceCodeVisibility = Visibility.Visible; ManualBoardDeviceCode.ManualBoardDeviceCodeViewModel deviceCodeVM = new ManualBoardDeviceCode.ManualBoardDeviceCodeViewModel(); deviceCodeVM.ID = id; deviceCodeVM.MCB = mcb; ManualDeviceCodeVM = deviceCodeVM; } } }
public List <ManualControlBoard> Create(int boardNo, int subBoardStartNo, int subBoardEndNo, int startKeyNo, int amount) { List <ManualControlBoard> lstMCB = new List <ManualControlBoard>(); if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号 { _maxCode = GetMaxCode(); _maxID = GetMaxID(); } int tempCode = _maxCode; if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行 { amount = 0; } if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数 { amount = tempCode + amount - MaxManualControlBoardAmount; } for (int j = subBoardStartNo; j <= subBoardEndNo; j++) { for (int i = startKeyNo; i < amount; i++) { tempCode++; _maxID++; ManualControlBoard mcb = new ManualControlBoard(); mcb.BoardNo = boardNo; mcb.SubBoardNo = j; mcb.KeyNo = i; mcb.Controller = _controller; mcb.ControllerID = _controller.ID; mcb.Code = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0'); mcb.ID = _maxID; mcb.IsDirty = true; lstMCB.Add(mcb); } } _maxCode = tempCode; DataRecordAlreadySet = false; return(lstMCB); }
public int AddManualControlBoardInfo(ManualControlBoard manualControlBoard) { throw new NotImplementedException(); }
/// <summary> /// 更新指定ID的数据 /// </summary> /// <param name="id">待更新数据的ID</param> /// <param name="columnNames">列名</param> /// <param name="data">新数据</param> /// <returns></returns> public bool UpdateViaSpecifiedColumnName(int id, string[] columnNames, string[] data) { try { ManualControlBoard result = _controller.ControlBoard.Find( delegate(ManualControlBoard x) { return(x.ID == id); } ); for (int i = 0; i < columnNames.Length; i++) { switch (columnNames[i]) { //case "编号": // result.Code = Convert.ToInt32(data[i]); // break; case "板卡号": result.BoardNo = Convert.ToInt32(data[i]); break; case "手盘号": result.SubBoardNo = Convert.ToInt32(data[i]); break; //case "手键号": // result.KeyNo = Convert.ToInt32(data[i]); // break; case "器件编号": result.DeviceCode = data[i].ToString(); break; case "被控类型": { switch (data[i]) { case "空器件": result.ControlType = 0; break; case "本机设备": result.ControlType = 1; break; case "楼区层": result.ControlType = 2; break; case "输出组": result.ControlType = 3; break; case "网络设备": result.ControlType = 4; break; default: result.ControlType = 0; break; } } break; case "本机设备1": result.LocalDevice1 = data[i]; break; case "本机设备2": result.LocalDevice2 = data[i]; break; case "本机设备3": result.LocalDevice3 = data[i]; break; case "本机设备4": result.LocalDevice4 = data[i]; break; case "楼号": result.BuildingNo = data[i]; break; case "区号": result.AreaNo = data[i]; break; case "层号": result.FloorNo = data[i]; break; case "设备类型": result.DeviceType = data[i] == ""?(short)0:Convert.ToInt16(data[i]); break; case "输出组": result.LinkageGroup = data[i]; break; case "网络设备1": result.NetDevice1 = data[i]; break; case "网络设备2": result.NetDevice2 = data[i]; break; case "网络设备3": result.NetDevice3 = data[i]; break; case "网络设备4": result.NetDevice4 = data[i]; break; } } } catch (Exception ex) { return(false); } return(true); }
public List <ManualControlBoard> Create(int boardNo, int subBoardStartNo, int subBoardEndNo, int amount) { List <ManualControlBoard> lstMCB = new List <ManualControlBoard>(); if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号 { _maxCode = GetMaxCode(); _maxID = GetMaxID(); } int tempCode = _maxCode; if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行 { amount = 0; } if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数 { amount = MaxManualControlBoardAmount - tempCode; } for (int j = subBoardStartNo; j <= subBoardEndNo; j++) { SCA.Interface.IControllerConfig config = ControllerConfigManager.GetConfigObject(this.TheController.Type); int totalMaxKeyNo = config.GetMaxAmountForKeyNoInManualControlBoardConfig(); int maxKeyNo = 0; //获取当前板卡及回路下的最大"手键号" if (TheController.ControlBoard.Count == 0) { maxKeyNo = 0; } else { var result = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo); if (result.Count() != 0) { maxKeyNo = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo).Max(mcb => mcb.KeyNo); } } if (maxKeyNo < totalMaxKeyNo) { for (int i = 1; i <= amount; i++) { tempCode++; _maxID++; maxKeyNo++; ManualControlBoard mcb = new ManualControlBoard(); mcb.BoardNo = boardNo; mcb.SubBoardNo = j; mcb.KeyNo = maxKeyNo; mcb.Controller = _controller; mcb.ControllerID = _controller.ID; mcb.Code = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0'); mcb.ID = _maxID; mcb.IsDirty = true; lstMCB.Add(mcb); } } } _maxCode = tempCode; DataRecordAlreadySet = false; foreach (var singleItem in lstMCB) { Update(singleItem); } return(lstMCB); }