Пример #1
0
        bool IReportParameterCollection.TryGetValue(string name, out IReportParameter parameter)
        {
            var existed = this.TryGetValue(name, out var result);

            parameter = existed ? result : null;
            return(existed);
        }
Пример #2
0
        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;
                            }
                        }
                    }
                }
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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.");
            }
        }
Пример #7
0
        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);
        }
Пример #8
0
        public static List <ReportParameter> GetReportParameters(IReportParameter iReport, InputArg _parameter)
        {
            var rParaeter = new GetCommonReportParameters(iReport);

            return(rParaeter.ReportParameters(_parameter));
        }
Пример #9
0
 public GetCommonReportParameters(IReportParameter _parameter)
 {
     _iParameter = _parameter;
 }
Пример #10
0
        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);
        }
Пример #11
0
 public GeneralReportParameter(IReportParameter reportParamter)
 {
     _reportPrameter = reportParamter;
 }
Пример #12
0
 bool ICollection <IReportParameter> .Remove(IReportParameter item) => this.Remove(item.Name);
Пример #13
0
 bool ICollection <IReportParameter> .Contains(IReportParameter item) => this.Contains(item?.Name);
Пример #14
0
        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);
        }