Files
ayanova7/source/ri/ri/ReportView.aspx.cs
2018-08-22 22:04:25 +00:00

144 lines
4.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ri.util;
using GZTW.AyaNova.BLL;
using DevExpress.XtraReports;
using DevExpress.XtraReports.UI;
namespace ri
{
public partial class ReportView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//**********************************************
//AYANOVA RI !!!!!
//************************************************
//TEST service bank report
// Report r = Report.GetItem(new Guid("c48c0ba4-7569-496c-b190-7c0521d521b5"));
//TEST
//object DataSource = ClientList.GetListForSingleItem(new Guid("9038112d-d650-4c7f-b90c-5459f8706263"));
//Get the report id
Report r = Report.GetItem(new Guid(Request.QueryString["rpt"]));
this.Title = r.Name;
string sourceKey = Request.QueryString["src"];
string ayf = Request.QueryString["ayf"];
this.ayfLinkTop.HRef = ayf;
this.ayfLinkBottom.HRef = ayf;
//get the datasource
object DataSource = Cache[sourceKey];
//clear it out of the cache
//NO! do not clear out of cache, is required to be there for any
//report toolbar functionality like exporting a report or saving one or printing one
//TEST TEST TEST
//#if DEBUG
// util.ay.clearCacheData(sourceKey);
//#endif
ReportDataSet source = null;
if (DataSource == null)
{
//user should never see this exception due to page timeout that will return them back
throw new System.TimeoutException("REPORT DATA SET HAS EXPIRED");
}
else
{
if (DataSource is ReportDataSet)
source = (ReportDataSet)DataSource;
else
{
ReportDataSetAdapter rdsa = new ReportDataSetAdapter();
source = new ReportDataSet();
rdsa.Fill(source, DataSource);
}
}
//Add localized text and display name to reportdataset
source.LocaleTextTable = ay.LocaleTextTable;
//RI: the following seems wierd but it's done this way in WBI, not sure what it's for but it works in WBI.
//possibly this is designer related stuff
source.DisplayName = "WorkorderServiceDetailed";
//instantiate an xreport object
//set it's datasource
DevExpress.XtraReports.UI.XtraReport x = new XtraReport();
//Case 232
x.LoadLayout(r.GetReportContent());
//case 1468
x.ScriptReferences = AyaBizUtils.GetBizObjectLibraryDllPaths(); ;
//Case 232 change block:
if (source.Tables.Count == 1)
{
//It's a summary report so just bind to the report as normal
x.DataSource = source;
}
else
{
//It's a detailed report made of subreports so remove the datasource
//from the main report and set it on the detailereport band
x.DataSource = null;
DetailReportBand detailReport = x.Bands[BandKind.DetailReport] as DetailReportBand;
if (detailReport != null)
{
detailReport.DataSource = source;
}
}
//case 3646 removed
//if (AyaBizUtils.Trial)
//{
// WatermarkReport(x, true);
//}
//pass it to the viewer component
this.ReportViewer1.Report = x;
}
//**********************************************
//AYANOVA RI !!!!!
//************************************************
static internal void WatermarkReport(XtraReport rpt, bool Insert)
{
if (Insert)
{
rpt.Watermark.Text = "TRIAL SAMPLE";
rpt.Watermark.Font = new System.Drawing.Font("Tahoma", 72, System.Drawing.FontStyle.Bold);
//Case 232
rpt.Watermark.TextTransparency = 128;
rpt.Watermark.ShowBehind = false;
}
else
{
rpt.Watermark.Text = "";
}
}
//**********************************************
//AYANOVA RI !!!!!
//************************************************
//eoc
}
}