Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        public HardwareBoardDetailsDto LinkExtenderBitToHardwareOutputSelector([FromBody] MapExtenderBitToHardwareOutputSelectorDto linkExtenderBitToHardwareOutputSelectorDto)
        {
            var hardwareBoardDetailsDto = _hardwareBoardService.LinkExtenderBitToHardwareOutputSelector(linkExtenderBitToHardwareOutputSelectorDto);

            return(hardwareBoardDetailsDto);
        }