Ejemplo n.º 1
0
        /// <summary>
        /// Gets the module where the equipment was assigned to.
        /// </summary>
        /// <param name="equipment">The equipment.</param>
        /// <returns>The ModuleSimulator or null if the equipment was never assigned to any module.</returns>
        public IModuleSimulator GetModuleOfEquipment(ISimulatedEquipment equipment)
        {
            IModuleSimulator ret;

            _equipmentToModuleMapping.TryGetValue(equipment, out ret);
            return(ret);
        }
Ejemplo n.º 2
0
        public void AddEquipment(ISimulatedEquipment equipment)
        {
            if (equipment.Position < 0 || equipment.Position > Length - 1)
            {
                throw new SimulationException("The equipment position " + equipment.Position + " exceeds the ModuleSimulator range of " + Name);
            }

            _equipmentRepository.AddEquipment(equipment, this);

            _simulatedEquipments.Add(equipment);

            var taktPart = equipment as ITakt;

            if (taktPart != null)
            {
                TaktPartsRepository.AddTaktPart(taktPart);
            }
        }
Ejemplo n.º 3
0
        public void AddEquipment(ISimulatedEquipment equipment, IModuleSimulator module)
        {
            if (!_equipments.ContainsKey(module))
            {
                _equipments.Add(module, new List <ISimulatedEquipment>());
            }

            var alreadyAssignedToModule = GetModuleOfEquipment(equipment);

            if (alreadyAssignedToModule != null)
            {
                throw new SimulationException(string.Format("The equipment {0} is already assigned to module {1}",
                                                            equipment.GetType().Name, alreadyAssignedToModule.Name));
            }

            _equipments[module].Add(equipment);
            _equipmentToModuleMapping.Add(equipment, module);
        }
Ejemplo n.º 4
0
        public void RemoveEquipment(ISimulatedEquipment equipment)
        {
            equipment.IsActive = false;

            _simulatedEquipments.Remove(equipment);
        }