public virtual void AddField(IPopulationAnalysisField populationAnalysisField) { if (populationAnalysisField == null) { return; } if (_populationAnalysis.Has(populationAnalysisField)) { return; } _populationAnalysis.Add(populationAnalysisField); _eventPublisher.PublishEvent(new FieldAddedToPopulationAnalysisEvent(_populationAnalysis, populationAnalysisField)); UpdateView(); }
public PopulationAnalysisDerivedField LoadDerivedFieldFor(PopulationAnalysis populationAnalysis, PopulationAnalysisDataField populationAnalysisDataField) { var field = _templateTask.LoadFromTemplate <PopulationAnalysisDerivedField>(TemplateType.PopulationAnalysisField); if (field == null) { return(null); } //validate data type if (!field.CanBeUsedFor(populationAnalysisDataField.DataType)) { throw new PKSimException(PKSimConstants.Error.DerivedFieldCannotBeUsedForFieldOfType(field.Name, populationAnalysisDataField.Name, populationAnalysisDataField.DataType)); } //Rename referenced once loaded var groupingField = field as PopulationAnalysisGroupingField; if (groupingField != null) { if (!validateReferenceFieldInGrouping(populationAnalysisDataField, groupingField)) { return(null); } } //rename field if required if (populationAnalysis.Has(field.Name)) { var name = renameFieldAfterImport(populationAnalysis, field); if (string.IsNullOrEmpty(name)) { return(null); } field.Name = name; } return(field); }