protected override void ExecuteWith(IMoBiContext context) { _modelSerialization = context.Serialize(_simulationToUpdate.Model); _buildConfigurationSerialization = context.Serialize(_simulationToUpdate.MoBiBuildConfiguration); context.UnregisterSimulation(_simulationToUpdate); context.PublishEvent(new SimulationUnloadEvent(_simulationToUpdate)); var oldIdCache = getEntityIdCache(_simulationToUpdate); _simulationToUpdate.Update(_updatedBuildConfiguration, _newModel); updateReferencesToSimulation(context); if (_simulationToUpdate.DiagramModel != null) { replaceDiagramModelNodeIds(_simulationToUpdate.DiagramModel, oldIdCache, getEntityIdCache(_simulationToUpdate)); } context.Register(_simulationToUpdate); _wasChanged = _simulationToUpdate.HasChanged; _simulationToUpdate.HasChanged = _hasChanged; Description = AppConstants.Commands.UpdateCommandDescription(_changedBuildingBlockName, _simulationToUpdate, _changedBuildingBlockType); context.PublishEvent(new SimulationReloadEvent(_simulationToUpdate)); }
protected override void ExecuteWith(IMoBiContext context) { context.CurrentProject.RemoveSimulation(_simulation); context.UnregisterSimulation(_simulation); context.PublishEvent(new SimulationRemovedEvent(_simulation)); //Do not serialize Results _simulation.Results = null; _serializationStream = context.Serialize(_simulation); }
public void should_update_object_registration() { A.CallTo(() => _context.Register(_simulation)).MustHaveHappened(); A.CallTo(() => _context.UnregisterSimulation(_simulation)).MustHaveHappened(); }