public PromptInfo GetPromptInfo(GlobalPromptBaseReportInfo baseReportInfo, ReportParameter[] promptReportParameters) { if (promptReportParameters == null) { const string messageFormat = "An error occured building Global Prompt '{0}', There were no parameters"; var message = string.Format(messageFormat, baseReportInfo.Name); throw new PromptInfoProviderException(message); } if (promptReportParameters.Length == 1) { return _singleLevelPromptInfoProvider.GetPromptInfo(baseReportInfo, promptReportParameters[0]); } if (promptReportParameters.Length > 1 && promptReportParameters.First().ValidValues == null && baseReportInfo.Name.StartsWith(string.Format("{0}_",_recursiveHierarchyPrefix))) { return _recursivePromptInfoProvider.GetPromptInfo( baseReportInfo, promptReportParameters); } if (promptReportParameters.Length > 1 && promptReportParameters.First().ValidValues == null) { return _casscadingPromptInfoProvider.GetPromptInfo( baseReportInfo, promptReportParameters[0], promptReportParameters[1]); } if (promptReportParameters.Length > 1 && promptReportParameters.First().ValidValues != null) { return _hierarchyPromptInfoProvider.GetPromptInfo(baseReportInfo, promptReportParameters); } throw new Exception(); }
public GlobalPromptBaseReportInfo Map(ReportParameter valueParameter, ReportParameter labelParameter) { SelectionType selectionType; if(valueParameter.MultiValue != labelParameter.MultiValue) { var expectionMessage = string.Format( "An error occured getting the selection type for '{0}': both parameters did not have the same multivalue flag" , valueParameter.Name); throw new GlobalPromptBaseReportInfoMapperException(expectionMessage); } if(valueParameter.MultiValue && labelParameter.MultiValue) { selectionType = SelectionType.MultiSelect; } else { selectionType = SelectionType.SingleSelect; } return new GlobalPromptBaseReportInfo( valueParameter.Name , valueParameter.Prompt , valueParameter.DefaultValues ?? new string[]{} , labelParameter.DefaultValues ?? new string[]{} , selectionType); }
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 IEnumerable<DefaultValue> Get(ReportParameter parameter) { if(parameter.DefaultValues == null) { return new DefaultValue[] {}; } return new []{ _defaultValueProvider.Get(parameter.DefaultValues.First(), string.Empty)}; }
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 ParameterValue[] Get(ReportParameter[] baseReportParmaeters, IPromptSelections promptSelections) { var parameterValuesToReturn = new List<ParameterValue>(); var baseReportPrompts = _baseReportInterpreter.Get(baseReportParmaeters); foreach (var parameterValueBuilder in baseReportPrompts) { var promptParmaeterValues = promptSelections.CreateParameterValuesFor(parameterValueBuilder); parameterValuesToReturn.AddRange(promptParmaeterValues); } return parameterValuesToReturn.ToArray(); }
public void Validate(string promptName, ReportParameter searchParameter, ReportParameter resultParameter) { if (searchParameter.ValidValues != null) { throw new PromptInfoProviderException( string.Format( "Error building Search Prompt Report '{0}', first parameters valid values were not null", promptName)); } if (resultParameter.Dependencies == null || resultParameter.Dependencies[0] != searchParameter.Name || resultParameter.Dependencies.Length > 1) { throw new PromptInfoProviderException( string.Format( "Error building Search Prompt Report '{0}', the result parameter must be dependent on the search parameter and have only one dependency", promptName)); } }
public void Validate(string promptName, ReportParameter[] promptReportParameters) { if(promptReportParameters == null) { throw GetExactly2ParametersException(promptName); } if(promptReportParameters.Length != 2) { throw GetExactly2ParametersException(promptName); } if (promptReportParameters[0].ValidValues != null) { throw GetException(promptName, "first parameters valid values were not null"); } if(promptReportParameters[1].Dependencies.Single() != promptReportParameters[0].Name) { throw GetException( promptName, "the result parameter must be dependent on the filter parameter"); } }
public void Validate(string promptName, ReportParameter[] promptReportParameters) { for (var i = 0; i < promptReportParameters.Length - 1; i++) { var childParameter = promptReportParameters[i + 1]; var parentParameter = promptReportParameters[i]; if (childParameter.Dependencies == null) { throw GetInvalidDependencyException(promptName, parentParameter.Name, childParameter.Name); } if (childParameter.Dependencies.Length != 1) { throw GetMoreThanOneDependencyException(promptName, childParameter.Name); } if (childParameter.Dependencies.Single().Equals(parentParameter.Name) == false) { throw GetInvalidDependencyException(promptName, parentParameter.Name, childParameter.Name); } } }
public PromptInfo GetPromptInfo( GlobalPromptBaseReportInfo baseReportInfo, ReportParameter searchParameter, ReportParameter resultParameter) { _promptReportValidator.Validate(baseReportInfo.Name, searchParameter, resultParameter); var name = baseReportInfo.Name; var label = baseReportInfo.Label; var promptType = _promptTypeProvider.GetPromptType(baseReportInfo.SelectionType); var defaultValues = _defaultValueProvider.Get( name, searchParameter.Name, baseReportInfo.ValueParameterDefaults, baseReportInfo.LabelParameterDefaults); var promptLevel = _promptLevelProvider.GetPromptLevel(searchParameter.Name, defaultValues); return new PromptInfo(name, label, promptType, promptLevel, defaultValues); }
public EmbeddedPromptParameterValueBuilder(ReportParameter parameter) { _parameter = parameter; }
public GlobalPromptParameterValueBuilder(ReportParameter valueParameter, ReportParameter labelParameter) { _labelParameter = labelParameter; _valueParameter = valueParameter; }
public IHierarchyPrompt Get(ReportParameter[] promptParameters) { return new HierarchyPrompt(promptParameters); }
public PromptLevel GetPromptLevel(ReportParameter reportParameter) { return new PromptLevel(reportParameter.Name, reportParameter.ValidValues ?? new ValidValue[]{}, true); }
public RecursiveHierarchyPrompt(ReportParameter[] parameters) { _parameters = parameters; }
public HierarchyPrompt(ReportParameter[] parameters) { _parameters = parameters; }