/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { // Check 'Modify' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.reporting", "Modify")) { RedirectToAccessDenied("cms.reporting", "Modify"); } string errorMessage = new Validator().NotEmpty(txtReportDisplayName.Text.Trim(), rfvReportDisplayName.ErrorMessage).NotEmpty(txtReportName.Text.Trim(), rfvReportName.ErrorMessage).Result; if ((errorMessage == "") && (!ValidationHelper.IsCodeName(txtReportName.Text.Trim()))) { errorMessage = GetString("general.invalidcodename"); } if (ReportCategoryInfoProvider.GetReportCategoryInfo(categoryId) == null) { errorMessage = GetString("Report_General.InvalidReportCategory"); } ReportAccessEnum reportAccess = ReportAccessEnum.All; if (!chkReportAccess.Checked) { reportAccess = ReportAccessEnum.Authenticated; } if (errorMessage == "") { //if report with given name already exists show error message if (ReportInfoProvider.GetReportInfo(txtReportName.Text.Trim()) != null) { ShowError(GetString("Report_New.ReportAlreadyExists")); return; } ReportInfo ri = new ReportInfo(); ri.ReportDisplayName = txtReportDisplayName.Text.Trim(); ri.ReportName = txtReportName.Text.Trim(); ri.ReportCategoryID = categoryId; ri.ReportLayout = ""; ri.ReportParameters = ""; ri.ReportAccess = reportAccess; ri.ReportEnableSubscription = chkEnableSubscription.Checked; ReportInfoProvider.SetReportInfo(ri); ltlScript.Text += "<script type=\"text/javascript\">"; ltlScript.Text += @"if (parent.frames['reportcategorytree']) { parent.frames['reportcategorytree'].location.href = 'ReportCategory_tree.aspx?reportid=" + ri.ReportID + @"'; } if (parent.parent.frames['reportcategorytree']) { parent.parent.frames['reportcategorytree'].location.href = 'ReportCategory_tree.aspx?reportid=" + ri.ReportID + @"'; } this.location.href = 'Report_Edit.aspx?reportId=" + Convert.ToString(ri.ReportID) + @"&saved=1&categoryID=" + categoryId + @"' </script>"; } else { ShowError(errorMessage); } }
/// <summary> /// Sets data to database. /// </summary> protected void lnkSave_Click(object sender, EventArgs e) { // Check 'Modify' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.reporting", "Modify")) { RedirectToAccessDenied("cms.reporting", "Modify"); } string errorMessage = new Validator().NotEmpty(txtReportDisplayName.Text.Trim(), rfvReportDisplayName.ErrorMessage).NotEmpty(txtReportName.Text.Trim(), rfvReportName.ErrorMessage).Result; if ((errorMessage == "") && (!ValidationHelper.IsCodeName(txtReportName.Text.Trim()))) { errorMessage = GetString("general.invalidcodename"); } ReportAccessEnum reportAccess = ReportAccessEnum.All; if (!chkReportAccess.Checked) { reportAccess = ReportAccessEnum.Authenticated; } if (errorMessage == "") { ReportInfo reportInfo = ReportInfoProvider.GetReportInfo(reportId); ReportInfo nri = ReportInfoProvider.GetReportInfo(txtReportName.Text.Trim()); // If report with given name already exists show error message if ((nri != null) && (nri.ReportID != reportInfo.ReportID)) { lblError.Visible = true; lblError.Text = GetString("Report_New.ReportAlreadyExists"); return; } if (reportInfo != null) { reportInfo.ReportLayout = htmlTemplateBody.ResolvedValue; // If there was a change in report code name change codenames in layout if (reportInfo.ReportName != txtReportName.Text.Trim()) { // part of old macro string oldValue = "?" + reportInfo.ReportName + "."; string newValue = "?" + txtReportName.Text.Trim() + "."; reportInfo.ReportLayout = reportInfo.ReportLayout.Replace(oldValue, newValue); // Set updated text back to HTML editor htmlTemplateBody.ResolvedValue = reportInfo.ReportLayout; } int categoryID = ValidationHelper.GetInteger(selectCategory.Value, reportInfo.ReportCategoryID); // If there was a change in display name refresh category tree if ((reportInfo.ReportDisplayName != txtReportDisplayName.Text.Trim()) || (reportInfo.ReportCategoryID != categoryID)) { ltlScript.Text += ScriptHelper.GetScript(@"if ((parent != null) && (parent.Refresh != null)) {parent.Refresh();}"); } reportInfo.ReportDisplayName = txtReportDisplayName.Text.Trim(); reportInfo.ReportName = txtReportName.Text.Trim(); reportInfo.ReportAccess = reportAccess; reportInfo.ReportCategoryID = categoryID; ReportInfoProvider.SetReportInfo(reportInfo); lblInfo.Visible = true; lblInfo.Text = GetString("General.ChangesSaved"); // Reload header if changes were saved ScriptHelper.RefreshTabHeader(Page, GetString("general.general")); } } else { lblError.Visible = true; lblError.Text = errorMessage; } }
/// <summary> /// Sets data to database. /// </summary> protected void SaveReport() { // Check 'Modify' permission if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.reporting", "Modify")) { RedirectToAccessDenied("cms.reporting", "Modify"); } string errorMessage = new Validator().NotEmpty(txtReportDisplayName.Text.Trim(), rfvReportDisplayName.ErrorMessage).NotEmpty(txtReportName.Text.Trim(), rfvReportName.ErrorMessage).Result; if (String.IsNullOrEmpty(errorMessage) && (!ValidationHelper.IsCodeName(txtReportName.Text.Trim()))) { errorMessage = GetString("general.invalidcodename"); } ReportAccessEnum reportAccess = ReportAccessEnum.All; if (!chkReportAccess.Checked) { reportAccess = ReportAccessEnum.Authenticated; } if (String.IsNullOrEmpty(errorMessage)) { ReportInfo reportInfo = ReportInfoProvider.GetReportInfo(reportId); ReportInfo nri = ReportInfoProvider.GetReportInfo(txtReportName.Text.Trim()); // If report with given name already exists show error message if ((nri != null) && (nri.ReportID != reportInfo.ReportID)) { ShowError(GetString("Report_New.ReportAlreadyExists")); return; } if (reportInfo != null) { reportInfo.ReportLayout = htmlTemplateBody.ResolvedValue; // If there was a change in report code name change codenames in layout if (reportInfo.ReportName != txtReportName.Text.Trim()) { // part of old macro string oldValue = "?" + reportInfo.ReportName + "."; string newValue = "?" + txtReportName.Text.Trim() + "."; reportInfo.ReportLayout = reportInfo.ReportLayout.Replace(oldValue, newValue); // Set updated text back to HTML editor htmlTemplateBody.ResolvedValue = reportInfo.ReportLayout; } int categoryID = ValidationHelper.GetInteger(selectCategory.Value, reportInfo.ReportCategoryID); // If there was a change in display name refresh category tree if ((reportInfo.ReportDisplayName != txtReportDisplayName.Text.Trim()) || (reportInfo.ReportCategoryID != categoryID)) { ltlScript.Text += ScriptHelper.GetScript(@"if ((parent != null) && (parent.Refresh != null)) {parent.Refresh();}"); } reportInfo.ReportDisplayName = txtReportDisplayName.Text.Trim(); reportInfo.ReportName = txtReportName.Text.Trim(); reportInfo.ReportAccess = reportAccess; reportInfo.ReportCategoryID = categoryID; reportInfo.ReportEnableSubscription = chkEnableSubscription.Checked; reportInfo.ReportConnectionString = ValidationHelper.GetString(ucSelectString.Value, String.Empty); ReportInfoProvider.SetReportInfo(reportInfo); ShowChangesSaved(); // Reload header if changes were saved ScriptHelper.RefreshTabHeader(Page, reportInfo.ReportDisplayName); } } else { ShowError(errorMessage); } }