public IndividualSimulation CreateForDDIRatio(IndividualSimulation originalSimulation) { //DDI Ratio=> manipulate inhibition parameters so that all DDI effects are effectively deactivated var ddiRatioSimulation = createModelLessSimulationBasedOn(originalSimulation); _simulationModelCreator.CreateModelFor(ddiRatioSimulation); //now update all parameters from the orginal simulation _simulationParametersUpdater.ReconciliateSimulationParametersBetween(originalSimulation, ddiRatioSimulation); _interactionTask.AllInteractionContainers(ddiRatioSimulation) .SelectMany(c => c.AllParameters()) .Each(p => p.Value = disabledDDIValueFor(p.Name)); return(ddiRatioSimulation); }
public IndividualSimulation CreateForDDIRatio(IndividualSimulation originalSimulation) { //DDI Ratio=> manipulate inhibition parameters so that all DDI effects are effectively deactivated var ddiRatioSimulation = createModelLessSimulationBasedOn(originalSimulation); _simulationModelCreator.CreateModelFor(ddiRatioSimulation); // now update all parameters from the original simulation. We need to take protocol parameters as well as simulation parameters into account for the update // as simulation building block are all kept in sync with the changes values EXCEPT Protocol (1 to n mapping) _simulationParametersUpdater.ReconciliateSimulationParametersBetween(originalSimulation, ddiRatioSimulation, PKSimBuildingBlockType.Simulation | PKSimBuildingBlockType.Protocol); _interactionTask.AllInteractionContainers(ddiRatioSimulation) .SelectMany(c => c.AllParameters()) .Each(p => p.Value = disabledDDIValueFor(p.Name)); return(ddiRatioSimulation); }
protected override void UpdateSimulationProperties() { SaveBuildingBlocksConfiguration(); _simulationModelCreator.CreateModelFor(Simulation); //now update all parameters from the orginal simulationToClone var validationResult = _simulationParametersUpdater.ReconciliateSimulationParametersBetween(_originalSimulation, Simulation); displayMissingParametersMessage(validationResult); //last update the version of the new simulationToClone Simulation.Version++; Simulation.StructureVersion++; }