public virtual async Task UpdateSnapshotFromParameter(SnapshotParameter snapshot, IParameter parameter)
        {
            updateParameterValue(snapshot, parameter.Value, parameter.DisplayUnit.Name, parameter.Dimension);
            snapshot.ValueOrigin = await _valueOriginMapper.MapToSnapshot(parameter.ValueOrigin);

            snapshot.TableFormula = await mapFormula(parameter.Formula);
        }
Ejemplo n.º 2
0
        public override async Task <SnapshotOriginData> MapToSnapshot(ModelOriginData originData)
        {
            var snapshot = await SnapshotFrom(originData, x =>
            {
                x.Species    = originData.Species.Name;
                x.Population = originData.Species.Populations.Count > 1 ? originData.SpeciesPopulation.Name : null;
                x.Gender     = originData.SpeciesPopulation.Genders.Count > 1 ? originData.Gender.Name : null;
            });

            if (originData.SpeciesPopulation.IsAgeDependent)
            {
                //Always generate age for Age dependent species
                snapshot.Age            = parameterFrom(originData.Age, originData.AgeUnit, _dimensionRepository.AgeInYears);
                snapshot.GestationalAge = originDataParameterFor(originData, _individualModelTask.MeanGestationalAgeFor, originData.GestationalAge, originData.GestationalAgeUnit, _dimensionRepository.AgeInWeeks);
            }

            snapshot.Weight = originDataParameterFor(originData, _individualModelTask.MeanWeightFor, originData.Weight, originData.WeightUnit, _dimensionRepository.Mass);

            if (originData.SpeciesPopulation.IsHeightDependent)
            {
                snapshot.Height = originDataParameterFor(originData, _individualModelTask.MeanHeightFor, originData.Height, originData.HeightUnit, _dimensionRepository.Length);
            }

            snapshot.ValueOrigin = await _valueOriginMapper.MapToSnapshot(originData.ValueOrigin);

            snapshot.CalculationMethods = await _calculationMethodCacheMapper.MapToSnapshot(originData.CalculationMethodCache, originData.Species.Name);

            return(snapshot);
        }
Ejemplo n.º 3
0
        private async Task <PkaType> mapPkaType(ModelCompound compound, int index)
        {
            var(compoundTypeParameter, pKaParameter) = pkaParametersFor(compound, index);
            var pKa          = pKaParameter.Value;
            var compoundType = (CompoundType)compoundTypeParameter.Value;

            if (compoundType == CompoundType.Neutral)
            {
                return(null);
            }

            var valueOrigin = await _valueOriginMapper.MapToSnapshot(pKaParameter.ValueOrigin);

            return(new PkaType {
                Pka = pKa, Type = compoundType, ValueOrigin = valueOrigin
            });
        }