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); }
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; }
private void OnGetChildrenForCompleted2( PromptLevel getChildrenResponse, string promptName, Action <ISearchablePromptItemCollection> result) { var promptItems = _promptItemCollectionBuilder.CreateSearchablePromptItems( promptName, getChildrenResponse); result(promptItems); }
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); }
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)); }
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); }
public PromptInfoBuilder WithPromptLevel(PromptLevel promptLevel) { _promptLevel = promptLevel; return(this); }
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)); }
public void ItSetsTheAvailableItemsToAnEmptyCollectionWhenTheValidValuesAreNull() { var promptLevel = new PromptLevel("ParameterName", null, false); Assert.AreEqual(0, promptLevel.AvailableItems.Count()); }
public void RaiseGetChildrenCompleted(PromptLevel getChildrenResponse) { _callback(getChildrenResponse); }