Example #1
0
    /// <summary>
    /// Loads data from graph storage
    /// </summary>
    private void LoadData()
    {
        if (graphInfo != null)
        {
            txtDefaultName.Text          = graphInfo.GraphDisplayName;
            txtDefaultCodeName.Text      = graphInfo.GraphName;
            txtQueryQuery.Text           = graphInfo.GraphQuery;
            chkIsStoredProcedure.Checked = graphInfo.GraphQueryIsStoredProcedure;

            ReportCustomData settings = graphInfo.GraphSettings;
            txtQueryNoRecordText.Text = settings["QueryNoRecordText"];
            txtGraphTitle.Text        = graphInfo.GraphTitle;
            txtLegendTitle.Text       = settings["LegendTitle"];
            txtItemValueFormat.Text   = settings["ItemValueFormat"];
            chkDisplayLegend.Checked  = ValidationHelper.GetBoolean(settings["DisplayLegend"], false);
            txtSeriesItemTooltip.Text = settings["SeriesItemToolTip"];
            txtSeriesItemLink.Text    = settings["SeriesItemLink"];
            txtItemNameFormat.Text    = settings["SeriesItemNameFormat"];
            chkExportEnable.Checked   = ValidationHelper.GetBoolean(settings["ExportEnabled"], false);
        }
    }
    /// <summary>
    /// Convert old graph data to new one (if any)
    /// </summary>
    /// <param name="settings">Old graph data</param>
    private void Convert(ReportCustomData settings)
    {
        // Smooth curves
        bool smoothCurves = ValidationHelper.GetBoolean(settings["SmoothCurves"], false);
        if (smoothCurves)
        {
            drpLineDrawingStyle.SelectedValue = "SpLine";
        }

        // Fill curves
        bool fillCurves = ValidationHelper.GetBoolean(settings["FillCurves"], false);
        if (fillCurves)
        {
            drpStackedBarDrawingStyle.SelectedValue = "Area";
        }

        // Vertical bars
        if (settings.ContainsColumn("VerticalBars"))
        {
            bool verticalBars = ValidationHelper.GetBoolean(settings["VerticalBars"], false);
            drpBarOrientation.SelectedValue = verticalBars ? "Vertical" : "Horizontal";
        }

        // Some types of graph type
        string graphType = mReportGraphInfo.GraphType;
        if (graphType == "baroverlay")
        {
            chkBarOverlay.Checked = true;
            drpChartType.SelectedValue = "bar";
        }

        if (graphType == "barpercentage")
        {
            chkStacked.Checked = true;
            drpChartType.SelectedValue = "barstacked";
        }

        if (graphType == "barstacked")
        {
            chkStacked.Checked = false;
            drpChartType.SelectedValue = "barstacked";
        }

        // Legend
        int value = ValidationHelper.GetInteger(mReportGraphInfo.GraphLegendPosition, ReportGraphDefaults.GraphLegendPosition);
        if (value != ReportGraphDefaults.GraphLegendPosition)
        {
            string position;
            switch (value)
            {
                case 0:
                    position = "TopLeft";
                    break;

                case 1:
                    position = "TopLeft";
                    break;

                case 2:
                    position = "TopRight";
                    break;

                case 3:
                    position = "BottomLeft";
                    break;

                case 4:
                    position = "TopLeft";
                    chkLegendInside.Checked = true;
                    break;

                case 5:
                    position = "TopRight";
                    chkLegendInside.Checked = true;
                    break;

                case 6:
                    position = "BottomLeft";
                    chkLegendInside.Checked = true;
                    break;

                case 7:
                    position = "BottomRight";
                    chkLegendInside.Checked = true;
                    break;

                case 8:
                    position = "TopLeft";
                    break;

                case 9:
                    position = "Top";
                    break;

                case 10:
                    position = "Bottom";
                    break;

                case 11:
                    position = "TopLeft";
                    break;

                case 12:
                    position = "BottomLeft";
                    break;

                case -1:
                    position = "None";
                    break;

                default:
                    position = "None";
                    break;
            }

            drpLegendPosition.SelectedValue = position;
        }

        // If old x axis font defined set same y axis
        if (settings.ContainsColumn("axisFont"))
        {
            chkYAxisUseXSettings.Checked = true;
            ucYAxisTitleFont.Value = ucXAxisTitleFont.Value;
            drpYAxisTitlePosition.SelectedValue = drpYAxisTitlePosition.SelectedValue;
        }
    }
    /// <summary>
    /// Convert old graph data to new one (if any)
    /// </summary>
    /// <param name="settings"></param>
    private void Convert(ReportCustomData settings)
    {
        // Smoothcurves
        bool smoothCurves = ValidationHelper.GetBoolean(settings["SmoothCurves"], false);
        if (smoothCurves == true)
        {
            drpLineDrawingStyle.SelectedValue = "SpLine";
        }

        // Fillcurves
        bool fillCurves = ValidationHelper.GetBoolean(settings["FillCurves"], false);
        if (fillCurves == true)
        {
            drpStackedBarDrawingStyle.SelectedValue = "Area";
        }

        // Verticalbars
        if (settings.ContainsColumn("VerticalBars"))
        {
            bool verticalBars = ValidationHelper.GetBoolean(settings["VerticalBars"], false);
            if (verticalBars)
            {
                drpBarOrientation.SelectedValue = "Vertical";
            }
            else
            {
                drpBarOrientation.SelectedValue = "Horizontal";
            }
        }

        // Some types of graph type
        string graphType = graphInfo.GraphType;
        if (graphType == "baroverlay")
        {
            chkBarOverlay.Checked = true;
            drpChartType.SelectedValue = "bar";
        }

        if (graphType == "barpercentage")
        {
            chkStacked.Checked = true;
            drpChartType.SelectedValue = "barstacked";
        }

        if (graphType == "barstacked")
        {
            chkStacked.Checked = false;
            drpChartType.SelectedValue = "barstacked";
        }

        // Legend
        int value = ValidationHelper.GetInteger(graphInfo.GraphLegendPosition, 100);
        string position = String.Empty;
        if (value != 100)
        {
            switch (value)
            {
                case 0:
                    position = "TopLeft";
                    break;

                case 1:
                    position = "TopLeft";
                    break;

                case 2:
                    position = "TopRight";
                    break;

                case 3:
                    position = "BottomLeft";
                    break;

                case 4:
                    position = "TopLeft";
                    chkLegendInside.Checked = true;
                    break;

                case 5:
                    position = "TopRight";
                    chkLegendInside.Checked = true;
                    break;

                case 6:
                    position = "BottomLeft";
                    chkLegendInside.Checked = true;
                    break;

                case 7:
                    position = "BottomRight";
                    chkLegendInside.Checked = true;
                    break;

                case 8:
                    position = "TopLeft";
                    break;

                case 9:
                    position = "Top";
                    break;

                case 10:
                    position = "Bottom";
                    break;

                case 11:
                    position = "TopLeft";
                    break;

                case 12:
                    position = "BottomLeft";
                    break;

                case -1:
                    position = "None";
                    break;

                default:
                    position = "None";
                    break;
                    ;

            }
            drpLegendPosition.SelectedValue = position;
        }
        // If old x axis font defined set same y axis
        if (settings.ContainsColumn("axisFont"))
        {
            chkYAxisUseXSettings.Checked = true;
            ucYAxisTitleFont.Value = ucXAxisTitleFont.Value;
            drpYAxisTitlePosition.SelectedValue = drpYAxisTitlePosition.SelectedValue;
        }

        // Convert displayItemValue
        if (settings.ContainsColumn("DisplayItemValue"))
        {
            // Conversion - if old graph was bar type set this value to true otherwise set it to false
            string chartType = graphInfo.GraphType.ToLower();
            if ((chartType == "bar") || (chartType == "barstacked") || (chartType == "barpercentage") || (chartType == "baroverlay"))
            {

                chkSeriesDisplayItemValue.Checked = true;
            }
            else
            {
                chkSeriesDisplayItemValue.Checked = false;
            }
        }
    }
    /// <summary>
    /// Save the changes to DB
    /// </summary>
    /// <param name="saveToDatabase">If true, data are saved into database</param>
    private bool SetData(bool saveToDatabase = false)
    {
        string errorMessage = String.Empty;

        if (saveToDatabase)
        {
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.reporting", "Modify"))
            {
                RedirectToAccessDenied("cms.reporting", "Modify");
            }

            errorMessage = new Validator()
                           .NotEmpty(txtDefaultName.Text, rfvDisplayName.ErrorMessage)
                           .NotEmpty(txtDefaultCodeName.Text, rfvCodeName.ErrorMessage)
                           .NotEmpty(txtQueryQuery.Text, GetString("Reporting_ReportGraph_Edit.ErrorQuery")).Result;

            if ((errorMessage == String.Empty) && (!ValidationHelper.IsIdentifier(txtDefaultCodeName.Text.Trim())))
            {
                errorMessage = GetString("general.erroridentifierformat");
            }

            string          fullName      = mReportInfo.ReportName + "." + txtDefaultCodeName.Text.Trim();
            ReportGraphInfo codeNameCheck = ReportGraphInfoProvider.GetReportGraphInfo(fullName);
            if ((errorMessage == String.Empty) && (codeNameCheck != null) && (codeNameCheck.GraphID != mGraphId))
            {
                errorMessage = GetString("Reporting_ReportGraph_Edit.ErrorCodeNameExist");
            }
        }

        // Test query in all cases
        if (errorMessage == String.Empty)
        {
            errorMessage = new Validator().NotEmpty(txtQueryQuery.Text, GetString("Reporting_ReportGraph_Edit.ErrorQuery")).Result;
        }

        if (errorMessage == String.Empty)
        {
            // New graph
            if (mReportGraphInfo == null)
            {
                mReportGraphInfo = new ReportGraphInfo();
            }

            mReportGraphInfo.GraphDisplayName = txtDefaultName.Text.Trim();
            mReportGraphInfo.GraphName        = txtDefaultCodeName.Text.Trim();

            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Reporting", "EditSQLQueries"))
            {
                mReportGraphInfo.GraphQuery = txtQueryQuery.Text;
            }

            mReportGraphInfo.GraphQueryIsStoredProcedure = chkIsStoredProcedure.Checked;
            mReportGraphInfo.GraphReportID         = mReportInfo.ReportID;
            mReportGraphInfo.GraphTitle            = txtGraphTitle.Text;
            mReportGraphInfo.GraphIsHtml           = true;
            mReportGraphInfo.GraphType             = String.Empty;
            mReportGraphInfo.GraphConnectionString = ValidationHelper.GetString(ucSelectString.Value, String.Empty);

            ReportCustomData settings = mReportGraphInfo.GraphSettings;
            settings["QueryNoRecordText"]    = txtQueryNoRecordText.Text;
            settings["LegendTitle"]          = txtLegendTitle.Text;
            settings["DisplayLegend"]        = chkDisplayLegend.Checked.ToString();
            settings["SeriesItemToolTip"]    = txtSeriesItemTooltip.Text;
            settings["SeriesItemLink"]       = txtSeriesItemLink.Text;
            settings["ItemValueFormat"]      = txtItemValueFormat.Text;
            settings["SeriesItemNameFormat"] = txtItemNameFormat.Text;
            settings["ExportEnabled"]        = chkExportEnable.Checked.ToString();
            settings["SubscriptionEnabled"]  = chkSubscription.Checked.ToString();

            if (saveToDatabase)
            {
                ReportGraphInfoProvider.SetReportGraphInfo(mReportGraphInfo);
            }

            return(true);
        }

        ShowError(errorMessage);
        return(false);
    }
Example #5
0
    /// <summary>
    /// Save the changes to DB
    /// </summary>
    private bool Save(bool save)
    {
        string errorMessage = String.Empty;

        if (save)
        {
            if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.reporting", "Modify"))
            {
                RedirectToAccessDenied("cms.reporting", "Modify");
            }

            errorMessage = new Validator()
                           .NotEmpty(txtDefaultName.Text, rfvDisplayName.ErrorMessage)
                           .NotEmpty(txtDefaultCodeName.Text, rfvCodeName.ErrorMessage)
                           .NotEmpty(txtQueryQuery.Text, GetString("Reporting_ReportGraph_Edit.ErrorQuery")).Result;

            if ((errorMessage == "") && (!ValidationHelper.IsIdentifier(txtDefaultCodeName.Text.Trim())))
            {
                errorMessage = GetString("general.erroridentificatorformat");
            }

            string          fullName      = reportInfo.ReportName + "." + txtDefaultCodeName.Text.Trim();
            ReportGraphInfo codeNameCheck = ReportGraphInfoProvider.GetReportGraphInfo(fullName);
            if ((errorMessage == "") && (codeNameCheck != null) && (codeNameCheck.GraphID != graphId))
            {
                errorMessage = GetString("Reporting_ReportGraph_Edit.ErrorCodeNameExist");
            }
        }

        // Test query in all cases
        if (errorMessage == String.Empty)
        {
            errorMessage = new Validator().NotEmpty(txtQueryQuery.Text, GetString("Reporting_ReportGraph_Edit.ErrorQuery")).Result;
        }

        if (errorMessage == String.Empty)
        {
            // New graph
            if (graphInfo == null)
            {
                graphInfo = new ReportGraphInfo();
            }

            graphInfo.GraphDisplayName = txtDefaultName.Text.Trim();
            graphInfo.GraphName        = txtDefaultCodeName.Text.Trim();

            if (CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Reporting", "EditSQLQueries"))
            {
                graphInfo.GraphQuery = txtQueryQuery.Text;
            }

            graphInfo.GraphQueryIsStoredProcedure = chkIsStoredProcedure.Checked;
            graphInfo.GraphReportID = reportInfo.ReportID;
            graphInfo.GraphTitle    = txtGraphTitle.Text;
            graphInfo.GraphIsHtml   = true;
            graphInfo.GraphType     = String.Empty;

            ReportCustomData settings = (ReportCustomData)graphInfo.GraphSettings;
            settings["QueryNoRecordText"]    = txtQueryNoRecordText.Text;
            settings["LegendTitle"]          = txtLegendTitle.Text;
            settings["DisplayLegend"]        = chkDisplayLegend.Checked.ToString();
            settings["SeriesItemToolTip"]    = txtSeriesItemTooltip.Text;
            settings["SeriesItemLink"]       = txtSeriesItemLink.Text;
            settings["ItemValueFormat"]      = txtItemValueFormat.Text;
            settings["SeriesItemNameFormat"] = txtItemNameFormat.Text;
            settings["ExportEnabled"]        = chkExportEnable.Checked.ToString();

            if (save)
            {
                ReportGraphInfoProvider.SetReportGraphInfo(graphInfo);
            }

            return(true);
        }
        else
        {
            lblError.Visible = true;
            lblError.Text    = errorMessage;
            return(false);
        }
    }