Exemplo n.º 1
0
        private void updateDose(ISchemaItem schemaItem, IContainer targetContainer, IFormulaCache formulaCache)
        {
            //now that parameter have been set, we need to update the dose by hand according to the selected unit
            var inputDose = schemaItem.Dose;

            var dose = targetContainer.Parameter(CoreConstants.Parameters.DOSE);
            var dosePerBodyWeight      = targetContainer.Parameter(CoreConstants.Parameters.DOSE_PER_BODY_WEIGHT);
            var dosePerBodySurfaceArea = targetContainer.Parameter(CoreConstants.Parameters.DOSE_PER_BODY_SURFACE_AREA);

            if (schemaItem.DoseIsInMass())
            {
                //we have to create a constant value for the dose parameter
                dose.Formula = _formulaFactory.ValueFor(inputDose.Value, _dimensionRepository.Mass);
                updateDoseParameter(inputDose, dose, dosePerBodyWeight, dosePerBodySurfaceArea);
            }
            else if (schemaItem.DoseIsPerBodyWeight())
            {
                dose.Formula = _formulaFactory.DoseFromDosePerBodyWeightFor(formulaCache);
                updateDoseParameter(inputDose, dosePerBodyWeight, dose, dosePerBodySurfaceArea);
            }
            else if (schemaItem.DoseIsPerBodySurfaceArea())
            {
                dose.Formula = _formulaFactory.DoseFromDosePerBodySurfaceAreaFor(formulaCache);
                updateDoseParameter(inputDose, dosePerBodySurfaceArea, dose, dosePerBodyWeight);
            }
        }
Exemplo n.º 2
0
        public IParameter CreateFor(ParameterValueMetaData parameterValueDefinition)
        {
            var param = _objectBaseFactory.CreateParameter();

            param.Formula = _formulaFactory.ValueFor(parameterValueDefinition);
            setParameterProperties(param, parameterValueDefinition);
            updateDefaultValueFor(param);
            return(param);
        }
Exemplo n.º 3
0
        public IParameter CreateFor(ParameterValueMetaData parameterValueDefinition)
        {
            var parameter = _objectBaseFactory.CreateParameter();

            parameter.Formula = _formulaFactory.ValueFor(parameterValueDefinition);
            setParameterProperties(parameter, parameterValueDefinition);
            updateDefaultValueFor(parameter);
            synchronizeFormulaDimension(parameter);
            return(parameter);
        }
 private void resetParameterToInput(IParameter parameter)
 {
     parameter.IsDefault = false;
     parameter.ValueOrigin.UpdateFrom(new ValueOrigin(), updateId: true);
     parameter.Formula = _formulaFactory.ValueFor(double.NaN, parameter.Dimension);
 }