public IPrompt BuildFrom(PromptInfo promptInfo) { var promptItems = new ObservableCollection <T>(); if (promptInfo.DefaultValues.Count() > 1) { throw new DropDownBuilderException(); } var defaultValue = promptInfo.DefaultValues.SingleOrDefault(); IPromptItem defaultItem = null; foreach (var availableItem in promptInfo.PromptLevelInfo.AvailableItems) { var promptItem = _promptItemProvider.Get( promptInfo.Name , promptInfo.PromptLevelInfo.ParameterName , availableItem); if (defaultValue != null) { if (defaultValue.Value == availableItem.Value) { defaultItem = promptItem; } } promptItems.Add(promptItem); } return(_promptProvider.Get(promptInfo.Name, promptInfo.Label, promptItems, defaultItem)); }
public IPrompt BuildFrom(PromptInfo promptInfo) { var items = new ObservableCollection <T>(); var defaultItems = new ObservableCollection <T>(); foreach (var availableItem in promptInfo.PromptLevelInfo.AvailableItems) { var promptItem = _promptItemProvider.Get( promptInfo.Name , promptInfo.PromptLevelInfo.ParameterName , availableItem); foreach (var defaultValidValue in promptInfo.DefaultValues) { if (availableItem.Value == defaultValidValue.Value) { if (defaultValidValue.IsAllMember) { promptItem.IsDefaultAll = true; } defaultItems.Add(promptItem); } } items.Add(promptItem); } return(_shoppingCartProvider.Get(promptInfo, items, defaultItems)); }