示例#1
0
        public Model.Formulation MapFrom(Formulation batchFormulation)
        {
            if (batchFormulation == null)
            {
                return(null);
            }

            var template    = _formulationRepository.FormulationBy(batchFormulation.FormulationType);
            var formulation = _cloner.Clone(template);

            formulation.Name = batchFormulation.Name;
            foreach (var parameterValue in batchFormulation.Parameters)
            {
                var parameter = formulation.Parameter(parameterValue.Key);
                if (parameter == null)
                {
                    _batchLogger.AddWarning($"Parameter '{parameterValue.Key}' not found in formulation '{formulation.Name}'");
                    continue;
                }

                parameter.Value = parameterValue.Value;
                _batchLogger.AddParameterValueToDebug(parameter);
            }

            return(formulation);
        }
        public void OnFormulationTypeChanged()
        {
            var formulationType = _formulationDTO.Type.Id;

            FormulationTypeChanged(formulationType);
            var templateFormulation = _formulationRepository.FormulationBy(formulationType);

            EditFormulation(_cloner.Clone(templateFormulation).WithName(string.Empty));
        }
        public override async Task <ModelFormulation> MapToModel(SnapshotFormulation snapshotFormulation, SnapshotContext snapshotContext)
        {
            var template    = _formulationRepository.FormulationBy(snapshotFormulation.FormulationType);
            var formulation = _cloner.Clone(template);

            MapSnapshotPropertiesToModel(snapshotFormulation, formulation);
            await UpdateParametersFromSnapshot(snapshotFormulation, formulation, snapshotContext);

            formulation.UpdateParticleParametersVisibility();
            return(formulation);
        }
示例#4
0
        private void convertFormulation(Formulation formulation)
        {
            if (formulation == null)
            {
                return;
            }

            var templateFormulation = _formulationRepository.FormulationBy(formulation.FormulationType);

            updateIsInputStateByNameAndValue(formulation, templateFormulation);
        }
示例#5
0
        public void Visit(Formulation formulation)
        {
            if (!formulation.FormulationType.IsOneOf(CoreConstants.Formulation.Weibull, CoreConstants.Formulation.Lint80, CoreConstants.Formulation.Particles, CoreConstants.Formulation.Table))
            {
                return;
            }

            var templateFormulation = _formulationRepository.FormulationBy(formulation.FormulationType);
            var useAsSuspension     = _cloner.Clone(templateFormulation.Parameter(CoreConstants.Parameter.USE_AS_SUSPENSION));

            useAsSuspension.Value = 0;
            formulation.Add(useAsSuspension);
        }
示例#6
0
        public void Visit(Formulation formulation)
        {
            if (!formulation.FormulationType.IsOneOf(CoreConstants.Formulation.WEIBULL, CoreConstants.Formulation.LINT80, CoreConstants.Formulation.TABLE))
            {
                return;
            }

            var templateFormulation = _formulationRepository.FormulationBy(formulation.FormulationType);
            var useAsSuspension     = _cloner.Clone(templateFormulation.Parameter(Constants.Parameters.USE_AS_SUSPENSION));

            useAsSuspension.Value = 0;
            formulation.Add(useAsSuspension);
            _converted = true;
        }