示例#1
0
        public async Task <GetEditionEditOutput> GetEditionForEdit([FromQuery] NullableIdDto input)
        {
            var features = FeatureManager.GetAll()
                           .Where(f => f.Scope.HasFlag(FeatureScopes.Edition));

            EditionEditDto   editionEditDto;
            List <NameValue> featureValues;

            if (input.Id.HasValue && input.Id != 0) //Editing existing edition?
            {
                var edition = await _editionManager.FindByIdAsync(input.Id.Value);

                featureValues  = (await _editionManager.GetFeatureValuesAsync(input.Id.Value)).ToList();
                editionEditDto = ObjectMapper.Map <EditionEditDto>(edition);
            }
            else
            {
                editionEditDto = new EditionEditDto();
                featureValues  = features.Select(f => new NameValue(f.Name, f.DefaultValue)).ToList();
            }

            var featureDtos = ObjectMapper.Map <List <FlatFeatureDto> >(features).OrderBy(f => f.DisplayName).ToList();

            return(new GetEditionEditOutput
            {
                Edition = editionEditDto,
                Features = featureDtos,
                FeatureValues = featureValues.Select(fv => new NameValueDto(fv)).ToList()
            });
        }
示例#2
0
        public async Task <GetEditionForEditOutput> GetEditionForEdit(NullableIdDto input)
        {
            var features = FeatureManager.GetAll();

            EditionEditDto   editionEditDto;
            List <NameValue> featureValues;

            if (input.Id.HasValue) //Editing existing edition?
            {
                var edition = await _editionManager.FindByIdAsync(input.Id.Value);

                featureValues  = (await _editionManager.GetFeatureValuesAsync(input.Id.Value)).ToList();
                editionEditDto = edition.MapTo <EditionEditDto>();
            }
            else
            {
                editionEditDto = new EditionEditDto();
                featureValues  = features.Select(f => new NameValue(f.Name, f.DefaultValue)).ToList();
            }

            return(new GetEditionForEditOutput
            {
                Edition = editionEditDto,
                Features = features.MapTo <List <FlatFeatureDto> >().OrderBy(f => f.DisplayName).ToList(),
                FeatureValues = featureValues.Select(fv => new NameValueDto(fv)).ToList()
            });
        }
示例#3
0
        public async Task <GetEditionForEditOutput> GetEditionForEdit(NullableIdInput input)
        {
            EditionEditDto          editionEditDto;
            List <NameValue>        list;
            IReadOnlyList <Feature> all = this.FeatureManager.GetAll();

            if (!input.Id.HasValue)
            {
                editionEditDto = new EditionEditDto();
                IReadOnlyList <Feature> features = all;
                list = (
                    from f in features
                    select new NameValue(f.Name, f.DefaultValue)).ToList <NameValue>();
            }
            else
            {
                EditionManager editionManager = this._editionManager;
                int?           id             = input.Id;
                Edition        edition        = await editionManager.FindByIdAsync(id.Value);

                EditionManager editionManager1 = this._editionManager;
                id = input.Id;
                IReadOnlyList <NameValue> featureValuesAsync = await editionManager1.GetFeatureValuesAsync(id.Value);

                list           = featureValuesAsync.ToList <NameValue>();
                editionEditDto = edition.MapTo <EditionEditDto>();
                edition        = null;
            }
            GetEditionForEditOutput getEditionForEditOutput = new GetEditionForEditOutput()
            {
                Edition = editionEditDto
            };
            List <FlatFeatureDto> flatFeatureDtos = all.MapTo <List <FlatFeatureDto> >();

            getEditionForEditOutput.Features = (
                from f in flatFeatureDtos
                orderby f.DisplayName
                select f).ToList <FlatFeatureDto>();
            List <NameValue> nameValues = list;

            getEditionForEditOutput.FeatureValues = (
                from fv in nameValues
                select new NameValueDto(fv)).ToList <NameValueDto>();
            return(getEditionForEditOutput);
        }