private IObserverBuilder createObserverBuilderByType(FlatObserver flatObserver) { if (flatObserver.BuilderType == ObserverBuilderType.Amount) { var amountObserverBuilder = _entityBaseFactory.Create <IAmountObserverBuilder>(); addDescriptorConditions(amountObserverBuilder.ContainerCriteria, ObserverTagType.PARENT, flatObserver.Name); return(amountObserverBuilder); } if (flatObserver.BuilderType == ObserverBuilderType.Container) { var containerObserverBuilder = _entityBaseFactory.Create <IContainerObserverBuilder>(); addDescriptorConditions(containerObserverBuilder.ContainerCriteria, ObserverTagType.PARENT, flatObserver.Name); return(containerObserverBuilder); } throw new ArgumentException(PKSimConstants.Error.UnknownObserverBuilderType); }
public IPKSimObserverBuilder MapFrom(FlatObserver flatObserver) { var observerBuilder = createObserverBuilderByType(flatObserver); var pksimObserverBuilder = new PKSimObserverBuilder(observerBuilder); observerBuilder.Name = flatObserver.Name; observerBuilder.ForAll = flatObserver.ForAllMolecules; pksimObserverBuilder.CalculationMethod = flatObserver.CalculationMethod; pksimObserverBuilder.Rate = flatObserver.Rate; observerBuilder.Formula = _formulaFactory.RateFor(pksimObserverBuilder, new FormulaCache()); observerBuilder.Dimension = _dimensionRepository.DimensionByName(flatObserver.Dimension); return(pksimObserverBuilder); }