public void AddMoreLines(object param) { // ObservableCollection<ManualControlBoard> ocMCB = ManualControlBoardInfoObservableCollection; object[] values = (object[])param; #region 调业务逻辑 _manualControlBoardService.TheController = this.TheController; SCA.Interface.IControllerConfig config = ControllerConfigManager.GetConfigObject(this.TheController.Type); int totalMaxKeyNo = config.GetMaxAmountForKeyNoInManualControlBoardConfig(); for (int i = Convert.ToInt32(values[1]); i <= Convert.ToInt32(values[2]); i++) { int maxKeyNo = 1; //获取当前板卡及回路下的最大"手键号" if (ManualControlBoardInfoObservableCollection.Count == 0) { maxKeyNo = 1; } else { var result = ManualControlBoardInfoObservableCollection.Where(mcb => mcb.MaxSubBoardNo == i && mcb.BoardNo == Convert.ToInt32(values[0])); if (result.Count() != 0) { maxKeyNo = ManualControlBoardInfoObservableCollection.Where(mcb => mcb.MaxSubBoardNo == i && mcb.BoardNo == Convert.ToInt32(values[0])).Max(mcb => mcb.KeyNo); } } if (maxKeyNo < totalMaxKeyNo) { List <ManualControlBoard> lstMCB = _manualControlBoardService.Create(Convert.ToInt32(values[0]), Convert.ToInt32(values[1]), Convert.ToInt32(values[2]), maxKeyNo, Convert.ToInt32(values[3])); foreach (var v in lstMCB) { EditableManualControlBoard mcb = new EditableManualControlBoard(); mcb.Controller = v.Controller; mcb.ControllerID = v.ControllerID; mcb.ID = v.ID; mcb.Code = v.Code; mcb.BoardNo = v.BoardNo; mcb.SubBoardNo = v.SubBoardNo; mcb.KeyNo = v.KeyNo; ManualControlBoardInfoObservableCollection.Add(mcb); } } } #endregion 调业务逻辑 //SCA.WPF.Infrastructure.EventMediator.NotifyColleagues("ManualControlBoardAddMoreLinesRefreshData",null); this.CreateManualControlBoardVisibility = Visibility.Collapsed; }
public List <int> GetDeviceCodeLength(Model.ControllerType type) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type); DeviceCodeLength = controllerConfig.GetDeviceCodeLength(); return(DeviceCodeLength); }