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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
 public void Visit(IPKSimBuildingBlock buildingBlock)
 {
     _buildingBlockTask.AddToProject(buildingBlock, editBuildingBlock: true);
 }
Exemplo n.º 4
0
 public void Execute()
 {
     _buildingBlockTask.AddToProject();
 }
Exemplo n.º 5
0
 public void AddBuildingBlockToProject(IPKSimBuildingBlock buildingBlock)
 {
     _buildingBlockTask.AddToProject(buildingBlock);
 }