コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }