/// <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); }
/// <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); } }