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);
        }
Example #2
0
        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;
        }
Example #3
0
        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;
        }