public void RenameSimulation(Simulation simulation, string newName) { _buildingBlockTask.Load(simulation); //rename model, all object path and results //was the presenter open for the simulation? if yes var presenterWasOpen = _applicationController.HasPresenterOpenedFor(simulation); _applicationController.Close(simulation); //Model and root string oldName = simulation.Name; simulation.Name = newName; simulation.Model.Name = simulation.Name; simulation.Model.Root.Name = simulation.Name; _renameAbsolutePathVisitor.RenameAllAbsolutePathIn(simulation, oldName); _buildingBlockInSimulationManager.UpdateBuildingBlockNamesUsedIn(simulation); _simulationPathUpdater.UpdatePathsForRenamedSimulation(simulation, oldName, newName); //presenter was not open, nothing to do if (!presenterWasOpen) { return; } //edit the simulation back, since it was edited _buildingBlockTask.Edit(simulation); }
public override void Rename(IMoBiSimulation simulationToRename, IEnumerable <IObjectBase> existingObjectsInParent, IBuildingBlock buildingBlock) { string oldName = simulationToRename.Name; var forbiddenNames = GetForbiddenNames(simulationToRename, _context.CurrentProject.Simulations); var renameCommmand = _interactionTask.Rename(simulationToRename, forbiddenNames, buildingBlock); if (renameCommmand.IsEmpty()) { return; } _context.AddToHistory(renameCommmand); _parameterIdentificationSimulationPathUpdater.UpdatePathsForRenamedSimulation(simulationToRename, oldName, simulationToRename.Name); simulationToRename.HasChanged = true; }
public override void Rename(IMoBiSimulation simulationToRename, IEnumerable <IObjectBase> existingObjectsInParent, IBuildingBlock buildingBlock) { string oldName = simulationToRename.Name; base.Rename(simulationToRename, existingObjectsInParent, buildingBlock); //It was not renamed after all if (string.Equals(oldName, simulationToRename.Name)) { return; } _parameterIdentificationSimulationPathUpdater.UpdatePathsForRenamedSimulation(simulationToRename, oldName, simulationToRename.Name); simulationToRename.HasChanged = true; }