private void updateDiseaseStateFromSnapshot(SnapshotOriginData snapshot, ModelOriginData originData) { if (snapshot.DiseaseState == null) { return; } var diseaseState = _diseaseStateRepository.AllFor(originData.Population).FindByName(snapshot.DiseaseState); if (diseaseState == null) { throw new PKSimException(PKSimConstants.Error.CannotFindDiseaseState(snapshot.DiseaseState, originData.Population.DisplayName)); } originData.DiseaseState = diseaseState; diseaseState.Parameters.Each(x => { var diseaseStateParameter = new OriginDataParameter { Name = x.Name, Value = x.Value, Unit = x.DisplayUnitName() }; var snapshotParameter = snapshot.DiseaseStateParameters.FindByName(x.Name); if (snapshotParameter != null) { diseaseStateParameter.Value = baseParameterValueFrom(snapshotParameter, x.Value); diseaseStateParameter.Unit = snapshotParameter.Unit; } originData.AddDiseaseStateParameter(diseaseStateParameter); }); }
public IReadOnlyList <DiseaseState> AllDiseaseStatesFor(SpeciesPopulation population) { var list = new List <DiseaseState> { _diseaseStateRepository.HealthyState }; list.AddRange(_diseaseStateRepository.AllFor(population)); return(list); }