コード例 #1
0
        public IEnumerable <DefaultValue> GetDefaultValues(PromptLevel promptLevel, IEnumerable <string> defaultValues)
        {
            var matchingAvailableItems = new List <DefaultValue>();

            var defaults = new List <DefaultValue>();

            foreach (var defaultValue in defaultValues)
            {
                var @default = _defaultValueProvider.Get(defaultValue, string.Empty);
                defaults.Add(@default);
            }

            foreach (var valueParameterDefault in defaults)
            {
                var localValueParameterDefault = valueParameterDefault;
                var validValue = promptLevel.AvailableItems.Where(i => i.Value == localValueParameterDefault.Value).SingleOrDefault();

                if (validValue != null)
                {
                    matchingAvailableItems.Add(valueParameterDefault);
                }
            }

            return(matchingAvailableItems);
        }
コード例 #2
0
        public IEnumerable<DefaultValue> GetDefaultValues(PromptLevel promptLevel, IEnumerable<string> defaultValues)
        {
            var matchingAvailableItems = new List<DefaultValue>();

            var defaults = new List<DefaultValue>();

            foreach (var defaultValue in defaultValues)
            {
                var @default = _defaultValueProvider.Get(defaultValue, string.Empty);
                defaults.Add(@default);
            }

            foreach (var valueParameterDefault in defaults)
            {
                var localValueParameterDefault = valueParameterDefault;
                var validValue = promptLevel.AvailableItems.Where(i => i.Value == localValueParameterDefault.Value).SingleOrDefault();

                if(validValue != null)
                {
                    matchingAvailableItems.Add(valueParameterDefault);
                }
            }

            return matchingAvailableItems;
        }
コード例 #3
0
        private void OnGetChildrenForCompleted2(
            PromptLevel getChildrenResponse,
            string promptName,
            Action <ISearchablePromptItemCollection> result)
        {
            var promptItems = _promptItemCollectionBuilder.CreateSearchablePromptItems(
                promptName,
                getChildrenResponse);

            result(promptItems);
        }
コード例 #4
0
        public PromptInfo GetPromptInfo(GlobalPromptBaseReportInfo baseReportInfo, ReportParameter[] promptReportParameters)
        {
            _hierarchyPromptReportValidator.Validate(baseReportInfo.Name, promptReportParameters);
            var promptLevel = new PromptLevel(promptReportParameters[0].Name, promptReportParameters[1].ValidValues, true);
            var defaultValues = _defaultValueProvider.GetDefaultValues(promptLevel, baseReportInfo.ValueParameterDefaults);
            var promptType = _promptTypeProvider.GetPromptType(baseReportInfo.SelectionType);

            return new PromptInfo(
                baseReportInfo.Name,
                baseReportInfo.Label,
                promptType,
                promptLevel,
                defaultValues);
        }
コード例 #5
0
        public PromptInfo GetPromptInfo(GlobalPromptBaseReportInfo baseReportInfo, ReportParameter[] promptReportParameters)
        {
            _hierarchyPromptReportValidator.Validate(baseReportInfo.Name, promptReportParameters);
            var promptLevel   = new PromptLevel(promptReportParameters[0].Name, promptReportParameters[1].ValidValues, true);
            var defaultValues = _defaultValueProvider.GetDefaultValues(promptLevel, baseReportInfo.ValueParameterDefaults);
            var promptType    = _promptTypeProvider.GetPromptType(baseReportInfo.SelectionType);

            return(new PromptInfo(
                       baseReportInfo.Name,
                       baseReportInfo.Label,
                       promptType,
                       promptLevel,
                       defaultValues));
        }
コード例 #6
0
        private void OnGetChildrenCompleted(
            PromptLevel response,
            string promptName,
            ITreeNode parentTreeNode,
            Action <ObservableCollection <ITreeNode> > callback)
        {
            var treeNodes = _treeNodeCollectionBuilder.BuildRegularNodesFrom(
                promptName
                , response.ParameterName
                , response.AvailableItems
                , parentTreeNode
                , response.HasChildLevel);

            callback(treeNodes);
        }
コード例 #7
0
 public PromptInfoBuilder WithPromptLevel(PromptLevel promptLevel)
 {
     _promptLevel = promptLevel;
     return(this);
 }
コード例 #8
0
        public ISearchablePromptItemCollection CreateSearchablePromptItems(string promptName, PromptLevel promptLevel)
        {
            var promptItems = new ObservableCollection <ISearchablePromptItem>();

            foreach (var availableItem in promptLevel.AvailableItems)
            {
                var promptItem = new SearchablePromptItem(promptName, promptLevel.ParameterName, availableItem, false);

                promptItems.Add(promptItem);
            }

            return(new SearchablePromptItems(promptItems));
        }
コード例 #9
0
        public void ItSetsTheAvailableItemsToAnEmptyCollectionWhenTheValidValuesAreNull()
        {
            var promptLevel = new PromptLevel("ParameterName", null, false);

            Assert.AreEqual(0, promptLevel.AvailableItems.Count());
        }
コード例 #10
0
 public void RaiseGetChildrenCompleted(PromptLevel getChildrenResponse)
 {
     _callback(getChildrenResponse);
 }