public HardwareBoardDetailsDto LinkExtenderBitToHardwareOutputSelector( MapExtenderBitToHardwareOutputSelectorDto linkExtenderBitToHardwareOutputSelectorDto) { try { //--- Remove old map var currentLink = GetHardwareBoardAssociationForHardwareOutputSelector(linkExtenderBitToHardwareOutputSelectorDto .HardwareOutputSelectorId); var currentBoard = _hardwareBoardRepository.GetByHardwareBoard(currentLink.HardwareBoardId); currentBoard.Buses .First(c => c.Id == currentLink.HardwareExtenderBusId).Bits.First(x => x.Id == currentLink.HardwareExtenderBusBitId) .HardwareOutputSelector = null; _hardwareBoardRepository.UpdateHardwareBoard(currentBoard); } catch (Exception ex) { // ignored } //--- Update to new map var hardwareBoard = _hardwareBoardRepository.GetByHardwareBoard(linkExtenderBitToHardwareOutputSelectorDto.HardwareBoardId); hardwareBoard.Buses .First(c => c.Id == linkExtenderBitToHardwareOutputSelectorDto.HardwareExtenderBusId).Bits .First(c => c.Id == linkExtenderBitToHardwareOutputSelectorDto.HardwareExtenderBusBitId) .HardwareOutputSelectorId = linkExtenderBitToHardwareOutputSelectorDto.HardwareOutputSelectorId; _hardwareBoardRepository.UpdateHardwareBoard(hardwareBoard); return(GetHardwareBoard(hardwareBoard.Id)); }
public MapExtenderBitToHardwareOutputSelectorDto GetHardwareBoardAssociationForHardwareOutputSelector( int hardwareOutputSelectorId) { var linkExtenderBitToHardwareOutputSelectorDto = new MapExtenderBitToHardwareOutputSelectorDto(); foreach (var board in _hardwareBoardRepository.GetAllHardwareBoards()) { foreach (var bus in board.Buses) { foreach (var bit in bus.Bits) { if (bit.HardwareOutputSelector == null) { continue; } if (bit.HardwareOutputSelector.Id != hardwareOutputSelectorId) { continue; } linkExtenderBitToHardwareOutputSelectorDto.HardwareBoardId = board.Id; linkExtenderBitToHardwareOutputSelectorDto.HardwareExtenderBusId = bus.Id; linkExtenderBitToHardwareOutputSelectorDto.HardwareExtenderBusBitId = bit.Id; linkExtenderBitToHardwareOutputSelectorDto.HardwareOutputSelectorId = hardwareOutputSelectorId; return(linkExtenderBitToHardwareOutputSelectorDto); } } } return(linkExtenderBitToHardwareOutputSelectorDto); }
public HardwareBoardDetailsDto LinkExtenderBitToHardwareOutputSelector([FromBody] MapExtenderBitToHardwareOutputSelectorDto linkExtenderBitToHardwareOutputSelectorDto) { var hardwareBoardDetailsDto = _hardwareBoardService.LinkExtenderBitToHardwareOutputSelector(linkExtenderBitToHardwareOutputSelectorDto); return(hardwareBoardDetailsDto); }