public void Clone(Simulation simulationToClone) { if (_buildingBlockInProjectManager.StatusFor(simulationToClone) != BuildingBlockStatus.Green) { throw new PKSimException(PKSimConstants.Error.SimulationCloneOnlyAvailableWhenBuildingBlocksAreUptodate); } _buildingBlockTask.Load(simulationToClone); using (var presenter = _applicationController.Start <ICloneSimulationPresenter>()) { var cloneCommand = presenter.CloneSimulation(simulationToClone); //User cancel action. return if (cloneCommand.IsEmpty()) { return; } var clone = presenter.Simulation; _simulationResultsTask.CloneResults(simulationToClone, clone); // The simulation must be renamed after results are added to the simulation _renameBuildingBlockTask.RenameSimulation(clone, presenter.CloneName); clone.Creation.AsCloneOf(simulationToClone); _simulationSettingsRetriever.SynchronizeSettingsIn(clone); var addCommand = _buildingBlockTask.AddToProject(clone, editBuildingBlock: true, addToHistory: false); addCommand.Description = PKSimConstants.Command.CloneEntity(PKSimConstants.ObjectTypes.Simulation, simulationToClone.Name, clone.Name); _buildingBlockTask.AddCommandToHistory(addCommand); } }
public void Execute() { using (var presenter = _applicationController.Start <IImportPopulationPresenter>()) { var importCommand = presenter.Create(); //User cancel action. return if (importCommand.IsEmpty()) { return; } var population = presenter.BuildingBlock; _buildingBlockTask.AddToProject(population, editBuildingBlock: true); } }
public void Visit(IPKSimBuildingBlock buildingBlock) { _buildingBlockTask.AddToProject(buildingBlock, editBuildingBlock: true); }
public void Execute() { _buildingBlockTask.AddToProject(); }
public void AddBuildingBlockToProject(IPKSimBuildingBlock buildingBlock) { _buildingBlockTask.AddToProject(buildingBlock); }