public void Initialize(IModuleSimulatorRepository moduleSimulatorRepository, SimulationAlarmHandler simulationAlarmHandler)
        {
            var moduleSimulator = moduleSimulatorRepository.GetModule("SimB");

            moduleSimulator.Initialize(10, "SimB");

            SimulatedBarcodeReader mosaicBarcodeReader = _mosaicModule.Equipments.OfType <SimulatedBarcodeReader>().FirstOrDefault();

            _readerEquipment.Initialize(1, mosaicBarcodeReader);
            moduleSimulator.AddEquipment(_readerEquipment);

            SimulatedJunction mosaicControlledJunction = _mosaicModule.Equipments.OfType <SimulatedJunction>().First();

            _junctionEquipment.Initialize(9, moduleSimulator, mosaicControlledJunction,
                                          moduleSimulatorRepository.GetModule("SimC1"),
                                          moduleSimulatorRepository.GetModule("SimC2"));
            moduleSimulator.AddEquipment(_junctionEquipment);
            moduleSimulator.ReactOnPlatformModuleState(_mosaicModule);
        }
        public IModuleSimulator GetNextModule(IModuleSimulator simulator)
        {
            var currentNode = _graphDto.Vertices.FirstOrDefault(v => v.Name == simulator.Name);

            if (currentNode == null)
            {
                return(null);
            }

            var lastEdge = _graphDto.Edges.LastOrDefault(e => e.Source == currentNode.Name);

            if (lastEdge == null)
            {
                return(null);
            }

            return(_moduleRepository.GetModule(lastEdge.Target));
        }