Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="iteration"></param>
        /// <param name="dto"></param>
        public BudgetConfigViewModel(Iteration iteration, BudgetConfigDto dto)
        {
            this.PopulateRdl(iteration);
            this.InitializeCommand();

            var budgetconfig = dto.ToBudgetConfig(this.PossibleParameterTypes, this.PossibleSystemLevelParameterTypes, this.usedCategories);

            this.LoadExistingConfiguration(budgetconfig);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Converts this configuration to dto
        /// </summary>
        /// <returns>The <see cref="BudgetConfigDto"/></returns>
        public BudgetConfigDto ToDto()
        {
            var dto = new BudgetConfigDto();

            dto.SystemLevel        = this.SystemLevelToUse?.Iid;
            dto.SubSystemLevelEnum = this.SubSystemLevelEnum?.Iid;
            dto.EquipmentLevelEnum = this.EquipmentLevelEnum?.Iid;
            dto.NumberOfElement    = this.NumberOfElementParameterType?.Iid;

            dto.SubSystemDefinition = this.SubSystemDefinition.Select(
                x => new SubSystemDefinitionDto
            {
                Categories        = x.Categories.Select(c => c.Iid).ToList(),
                ElementCategories = x.ElementCategories.Select(ec => ec.Iid).ToList()
            }).ToList();

            var massConfig = this.BudgetParameterConfig as MassBudgetParameterConfig;

            if (massConfig != null)
            {
                var parameterConfigDto = new MassParameterConfigDto();
                parameterConfigDto.ParameterType       = massConfig.DryMassTuple.MainParameterType.Iid;
                parameterConfigDto.MarginParameterType = massConfig.DryMassTuple.MarginParameterType?.Iid;
                parameterConfigDto.ExtraContribution   = massConfig.ExtraMassContributionConfigurations.Select(
                    x => new ExtraContributionDto
                {
                    Categories          = x.ContributionCategories.Select(c => c.Iid).ToList(),
                    ParameterType       = x.MassParameterType.Iid,
                    MarginParameterType = x.MarginParameterType?.Iid
                }).ToList();

                dto.ParameterConfig = parameterConfigDto;
            }

            var genericConfig = this.BudgetParameterConfig as GenericBudgetParameterConfig;

            if (genericConfig != null)
            {
                var parameterConfigDto = new GenericParameterConfigDto();
                parameterConfigDto.ParameterType       = genericConfig.GenericTuple.MainParameterType.Iid;
                parameterConfigDto.MarginParameterType = genericConfig.GenericTuple.MarginParameterType?.Iid;

                dto.ParameterConfig = parameterConfigDto;
            }
            else
            {
                throw new NotImplementedException("only mass budget has been implemented");
            }

            return(dto);
        }