public virtual PromptInfo GetPromptInfo(GlobalPromptBaseReportInfo baseReportInfo, ReportParameter promptReportParameter)
        {
            var promptLevel   = _promptLevelProvider.GetPromptLevel(promptReportParameter);
            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)
        {
            _hierarchyValidator.Validate(baseReportInfo.Name, promptReportParameters);
            var promptLevel   = _promptLevelProvider.GetPromptLevel(promptReportParameters[0]);
            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 Get(ReportParameter baseReportParameter)
        {
            var promptLevel   = _promptLevelProvider.GetPromptLevel(baseReportParameter);
            var defaultValues =
                baseReportParameter.ValidValues != null?_strictDefaultValuesProvider.GetDefaultValues(
                    promptLevel,
                    baseReportParameter.DefaultValues ?? new string[] {})
                    : _emptyPromptDefaultValueProvider.Get(baseReportParameter);

            var promptType =
                baseReportParameter.ValidValues == null
                    ? PromptType.Empty
                    : baseReportParameter.MultiValue
                          ? PromptType.ShoppingCart
                          : PromptType.DropDown;

            return(new PromptInfo(
                       baseReportParameter.Name,
                       baseReportParameter.Prompt,
                       promptType,
                       promptLevel,
                       defaultValues));
        }