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;
        }
Beispiel #2
0
 public List <int> GetDeviceCodeLength(Model.ControllerType type)
 {
     SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type);
     DeviceCodeLength = controllerConfig.GetDeviceCodeLength();
     return(DeviceCodeLength);
 }