bool IReportParameterCollection.TryGetValue(string name, out IReportParameter parameter) { var existed = this.TryGetValue(name, out var result); parameter = existed ? result : null; return(existed); }
public static List <ReportParameter> GetReportParameters(string reportType, InputArg _parameter) { IReportParameter iReport = ReportParameterFactory.GetObj(reportType); var rParaeter = new GetCommonReportParameters(iReport); return(rParaeter.ReportParameters(_parameter)); }
public static void VerifyReportParameters(Report report, Rdl rdl) { for (int i = 0; i < rdl.Items.Length; i++) { if (rdl.ItemsElementName[i].Equals(RdlChildElement.ReportParameters)) { RdlReportParameters reportParameters = (RdlReportParameters)rdl.Items[i]; foreach (RdlReportParameter reportParameter in reportParameters.ReportParameter) { IReportParameter target = report.ReportParameter(reportParameter.Name); if (target == null) { throw new ReportParameterException("XML metadata is missing parameter: " + reportParameter.Name); } for (int j = 0; j < reportParameter.Items.Length; j++) { switch (reportParameter.ItemsElementName[j]) { case RdlReportParameterChildElement.DataType: ReportParameterDataType rpdt = (ReportParameterDataType)Enum.Parse(typeof(ReportParameterDataType), reportParameter.Items[j].ToString()); DbType dbType = XmlReportFactory.ToDbType(rpdt); if (!target.DbType.Equals(dbType)) { throw new ReportParameterException("XML metadata mismatch (DataType)! Parameter: " + target.Name); } break; } } } } } }
protected static Control BuildLabel(IReportParameter parameter, string id) { if (parameter.ReportParameterInputType == ReportParameterInputType.Hidden) { throw new ReportParameterException("Hidden report parameters do not have labels"); } Label label = new Label(); label.CssClass = parameter.Name; label.Text = parameter.Label + ": "; label.AssociatedControlID = id; return(label); }
protected Control BuildPanel(IReportParameter parameter, bool autoPostBack) { PlaceHolder panel = new PlaceHolder(); Control theInput = BuildInput(parameter, autoPostBack); if (!parameter.ReportParameterInputType.Equals(ReportParameterInputType.Hidden) && parameter.Label != null) { panel.Controls.Add(BuildLabel(parameter, theInput.ID)); } panel.Controls.Add(theInput); return(panel); }
void ICollection <IReportParameter> .Add(IReportParameter item) { if (item == null) { throw new ArgumentNullException(); } if (item is ReportParameter parameter) { this.Add(parameter); } else { throw new ArgumentException("Invalid parameter type."); } }
protected string GetParameterValue(IReportParameter parameter) { if (parameter.Name.Equals("ReportTitle")) { return(TheReport().Name); } string value = GetParameterValue(parameter.Name); if (value == null) { IReportParameterValue parameterValue = parameter.DefaultValue(GetParameterValue); value = (parameterValue == null ? null : parameterValue.Value); } return(value); }
public static List <ReportParameter> GetReportParameters(IReportParameter iReport, InputArg _parameter) { var rParaeter = new GetCommonReportParameters(iReport); return(rParaeter.ReportParameters(_parameter)); }
public GetCommonReportParameters(IReportParameter _parameter) { _iParameter = _parameter; }
protected Control BuildInput(IReportParameter parameter, bool autoPostBack) { Control control; switch (parameter.ReportParameterInputType) { case ReportParameterInputType.Hidden: HiddenField hiddenField = new HiddenField(); hiddenField.ID = parameter.Name; hiddenField.Value = GetParameterValue(parameter); control = hiddenField; break; case ReportParameterInputType.Select: DropDownList dropDownList = new DropDownList(); dropDownList.ID = parameter.Name; dropDownList.CssClass = parameter.Name; IList <IReportParameterValue> validValues = parameter.ValidValues(this.GetParameterValue); ListItem[] listItems; Boolean hide = false; // this report need to show the Group name as well in the drop down if (TheReport().Id == "E6A6F567-2E14-433A-ABCA-0E97DA8A1595") { listItems = new ListItem[validValues.Count + 1]; string DrillThroughBussinessId = string.Empty; if (Request.QueryString.HasKeys() && Request.QueryString.GetValues("drillthrough") != null) { DrillThroughBussinessId = Request.QueryString.GetValues("drillthrough")[0].ToString(); } else { if (SoftwareSystemComponentState.Dealer != null) { DrillThroughBussinessId = SoftwareSystemComponentState.Dealer.GetValue().Id.ToString(); } } //check if page request is made from the PerformanceManagementPage string parentCallingPage = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_REFERER"] as object) .ToUpper(); string pmrType = string.Empty; if (Request.QueryString.HasKeys() && Request.QueryString.GetValues("type") != null) { pmrType = Request.QueryString.GetValues("type")[0]; } if (parentCallingPage.Contains("PERFORMANCE") || parentCallingPage.Contains("DEALERREPORT") || pmrType == "pmr") { hide = true; } ListItem firstListItem = new ListItem(SoftwareSystemComponentState.DealerGroup.GetValue().Name, GetSelectedDealersId()); firstListItem.Selected = false; listItems[0] = firstListItem; int i = 1; foreach (IReportParameterValue value in validValues) { ListItem listItem = new ListItem(value.Label, value.Value); listItem.Selected = DrillThroughBussinessId == value.Value ? true : value.Selected; listItems[i++] = listItem; } } else { listItems = new ListItem[validValues.Count]; int i = 0; foreach (IReportParameterValue value in validValues) { ListItem listItem = new ListItem(value.Label, value.Value); listItem.Selected = value.Selected; listItems[i++] = listItem; } } //Trade analyzer and Avg Imm. wholesale dealer report does not require Delaer list to be displayed. if ((TheReport().Id.ToLower() == "c625a438-4429-4a8c-a3a2-366805acddf9" || TheReport().Id.ToLower() == "59c0e4ef-95bb-4031-8b61-28020d9e91f9") && Request.QueryString.HasKeys() && Request.QueryString.GetValues("type") != null && parameter.Name.Contains("SelectedDealerId")) { string pmrType = Request.QueryString.GetValues("type")[0]; if (pmrType == "pmr") { hide = true; } } dropDownList.Items.AddRange(listItems); autoPostBack |= String.Equals(parameter.Name, "varToggleRow"); dropDownList.AutoPostBack = autoPostBack; if (autoPostBack) { dropDownList.SelectedIndexChanged += DropDown_SelectedIndexChanged; } control = dropDownList; if (hide) { control.Visible = false; } break; case ReportParameterInputType.Text: TextBox textBox = new TextBox(); textBox.ID = parameter.Name; textBox.CssClass = parameter.Name; textBox.Text = GetParameterValue(parameter); textBox.AutoPostBack = autoPostBack; control = textBox; break; case ReportParameterInputType.Checkbox: CheckBox checkBox = new CheckBox(); checkBox.ID = parameter.Name; checkBox.CssClass = parameter.Name; checkBox.Checked = ("True".Equals(GetParameterValue(parameter)) || "1".Equals(GetParameterValue(parameter))); checkBox.AutoPostBack = autoPostBack; control = checkBox; break; default: throw new ArgumentException("Method not implemented for input type"); } return(control); }
public GeneralReportParameter(IReportParameter reportParamter) { _reportPrameter = reportParamter; }
bool ICollection <IReportParameter> .Remove(IReportParameter item) => this.Remove(item.Name);
bool ICollection <IReportParameter> .Contains(IReportParameter item) => this.Contains(item?.Name);
protected Control BuildInput(IReportParameter parameter, bool autoPostBack) { Control control; switch (parameter.ReportParameterInputType) { case ReportParameterInputType.Hidden: HiddenField hiddenField = new HiddenField(); hiddenField.ID = parameter.Name; hiddenField.Value = GetParameterValue(parameter); control = hiddenField; break; case ReportParameterInputType.Select: DropDownList dropDownList = new DropDownList(); dropDownList.ID = parameter.Name; dropDownList.CssClass = parameter.Name + " seletMargin"; IList <IReportParameterValue> validValues = parameter.ValidValues(GetParameterValue); var listItems = new ListItem[validValues.Count]; int i = 0; foreach (IReportParameterValue value in validValues) { ListItem listItem = new ListItem(value.Label, value.Value); listItem.Selected = value.Selected; listItems[i++] = listItem; } dropDownList.Items.AddRange(listItems); autoPostBack |= String.Equals(parameter.Name, "varToggleRow"); dropDownList.AutoPostBack = autoPostBack; if (autoPostBack) { dropDownList.SelectedIndexChanged += DropDown_SelectedIndexChanged; } control = dropDownList; break; case ReportParameterInputType.Text: TextBox textBox = new TextBox(); textBox.ID = parameter.Name; textBox.CssClass = parameter.Name; textBox.Text = GetParameterValue(parameter); textBox.AutoPostBack = autoPostBack; control = textBox; break; case ReportParameterInputType.Checkbox: CheckBox checkBox = new CheckBox(); checkBox.ID = parameter.Name; checkBox.CssClass = parameter.Name; checkBox.Checked = ("True".Equals(GetParameterValue(parameter)) || "1".Equals(GetParameterValue(parameter))); checkBox.AutoPostBack = autoPostBack; control = checkBox; break; default: throw new ArgumentException("Method not implemented for input type"); } return(control); }