private IndividualValuesCache withPathsContainingUnitsUpdated(IndividualValuesCache individualValuesCache, PathCache <IParameter> allParameters, IImportLogger logger) { // No parameters to check from, return as IS if (allParameters == null) { return(individualValuesCache); } //Use TO LIST here because collection might be modified foreach (var parameterValue in individualValuesCache.AllParameterValues.ToList()) { var parameterPath = parameterValue.ParameterPath; if (allParameters.Contains(parameterPath)) { continue; } var pathWithUnitsRemoved = parameterPath.StripUnit(); if (allParameters.Contains(pathWithUnitsRemoved)) { individualValuesCache.RenamePath(parameterPath, pathWithUnitsRemoved); parameterValue.ParameterPath = pathWithUnitsRemoved; continue; } logger.AddWarning(Warning.ParameterWithPathNotFoundInBaseIndividual(parameterPath)); individualValuesCache.Remove(parameterPath); } return(individualValuesCache); }
private void validate(IndividualPropertiesCache individualValues, IImportLogger logger) { foreach (var parameterPath in individualValues.AllParameterPaths().ToList()) { if (allParametersContains(parameterPath)) { continue; } logger.AddWarning(PKSimConstants.Warning.ParameterWithPathNotFoundInBaseIndividual(parameterPath)); individualValues.Remove(parameterPath); } }
private IndividualPropertiesCache individualPropertiesCacheFrom(string fileFullPath, IImportLogger logger, char delimiter) { var individualPropertiesCache = new IndividualPropertiesCache(); using (var reader = new CsvReaderDisposer(fileFullPath, delimiter)) { var csv = reader.Csv; var headers = csv.GetFieldHeaders(); if (headers.Contains(Constants.Population.INDIVIDUAL_ID_COLUMN)) { loadNewCSVFormat(individualPropertiesCache, csv, headers); } else { loadOldCSVFormat(individualPropertiesCache, csv); logger.AddWarning(PKSimConstants.Warning.PopulationFileIsUsingOldFormatAndWontBeSupportedInTheNextVersion); } } return(individualPropertiesCache); }