Ejemplo n.º 1
0
        /// <summary>
        /// Executes the <see cref="OkCommand"/>
        /// </summary>
        private void ExecuteOkCommand()
        {
            var subSysDefinitions = new List <SubSystemDefinition>();

            foreach (var ssDef in this.SubSystemDefinitions)
            {
                var subSysCat = new SubSystemDefinition(ssDef.SubSystemDefinitions.SelectedCategories, ssDef.SubSystemElementDefinition.SelectedCategories);
                if (subSysDefinitions.Contains(subSysCat))
                {
                    continue;
                }

                subSysDefinitions.Add(subSysCat);
            }

            BudgetParameterConfigBase parameterConfig;

            switch (this.SelectedBudgetKind)
            {
            case BudgetKind.Mass:
                var massBudgetVm  = (MassBudgetParameterConfigViewModel)this.BudgetParameterConfig;
                var drymassConfig = new BudgetParameterMarginPair(massBudgetVm.DryMassConfig.SelectedParameterType, massBudgetVm.DryMassConfig.SelectedMarginParameterType);
                var extraConf     = new List <ExtraMassContributionConfiguration>();
                foreach (var extraMassContributionConfigurationViewModel in massBudgetVm.ExtraMassContributions)
                {
                    extraConf.Add(new ExtraMassContributionConfiguration(extraMassContributionConfigurationViewModel.SelectedCategories, extraMassContributionConfigurationViewModel.SelectedParameter, extraMassContributionConfigurationViewModel.SelectedMarginParameter));
                }

                parameterConfig = new MassBudgetParameterConfig(drymassConfig, extraConf);
                break;

            case BudgetKind.Generic:
                var costBudgetVm = (GenericBudgetParameterConfigViewModel)this.BudgetParameterConfig;
                parameterConfig = new GenericBudgetParameterConfig(new BudgetParameterMarginPair(costBudgetVm.GenericConfig.SelectedParameterType, costBudgetVm.GenericConfig.SelectedMarginParameterType));
                break;

            default:
                throw new NotImplementedException($"Case {this.SelectedBudgetKind} not implemented");
            }

            var config = new BudgetConfig(this.SelectedElements, subSysDefinitions, parameterConfig, this.NumberOfElement, this.SystemLevel, this.SelectedSubSystemEnum, this.SelectedEquipmentEnum);

            this.DialogResult = new BudgetConfigDialogResult(true, config);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instace of the <see cref="MassBudgetParameterConfig"/> class
 /// </summary>
 /// <param name="dryMass">The dry mass configuration</param>
 /// <param name="extraContributionConfig">all extra mass contributions</param>
 public MassBudgetParameterConfig(BudgetParameterMarginPair dryMass, IReadOnlyList <ExtraMassContributionConfiguration> extraContributionConfig)
 {
     this.DryMassTuple = dryMass;
     this.ExtraMassContributionConfigurations = extraContributionConfig;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instace of the <see cref="PowerBudgetParameterConfig"/> class
 /// </summary>
 /// <param name="power">The power parameter configuration</param>
 public PowerBudgetParameterConfig(BudgetParameterMarginPair power)
 {
     this.PowerTuple = power;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GenericBudgetParameterConfig"/> class
 /// </summary>
 /// <param name="generic">The <see cref="BudgetParameterMarginPair"/> for the cost</param>
 public GenericBudgetParameterConfig(BudgetParameterMarginPair generic)
 {
     this.GenericTuple = generic;
 }