private void InitAddBoardItemExcuteCommand() { AddBoardItemExcuteCommand = new RelayCommand(() => { var sbi = new SelectBoardItemDialog(BoardType == BoardType.InputA ? ProjectHelper.Project.ItemXmlInfo.InputBoardGroup : ProjectHelper.Project.ItemXmlInfo.OutputBoardGroup, true); if (sbi.ShowDialog() == true) { var board = sbi.SelectedBoard; var boardItem = sbi.SelectedBoardItem; BoardItemInfo boardItemInfo; switch (board.BoardType) { case BoardType.InputA: boardItemInfo = new SwitchBoardItemInfo(); break; case BoardType.OutputA: boardItemInfo = new RelayBoardItemInfo(); break; default: throw new ArgumentOutOfRangeException(); } boardItemInfo.DeviceNumber = board.DeviceNumber; boardItemInfo.Number = boardItem.Number; boardItemInfo.IsNo = sbi.IsNo; BoardItemInfos.Add(boardItemInfo); } }); }
private void InitUpBoardItemExcuteCommand() { UpBoardItemExcuteCommand = new RelayCommand(() => { var boardItemInfo = BoardItemInfos.FirstOrDefault(s => s.IsChecked); if (boardItemInfo != null) { BoardItemInfos.Up(boardItemInfo); } }); }
private void InitRemoveBoardItemExcuteCommand() { RemoveBoardItemExcuteCommand = new RelayCommand(() => { var removeInfo = BoardItemInfos.Where(s => s.IsChecked).ToList(); foreach (var switchInfo in removeInfo) { BoardItemInfos.Remove(switchInfo); } }); }