public override Dictionary <string, string> GetUrls() { var predefinedList = PredefinedReports.GetReportList(); var reportListFromSession = Session.GetObjectFromJson <Dictionary <string, string> >(ReportExtensionSessionKey); if (reportListFromSession != null) { foreach (var reportItem in reportListFromSession) { predefinedList[reportItem.Key] = reportItem.Value; } } return(predefinedList); }
public override byte[] GetData(string url) { byte[] reportBytes; lock (sync) { var storedReports = Session.GetObjectFromJson <Dictionary <string, string> >(ReportExtensionSessionKey); if (storedReports != null && storedReports.ContainsKey(url) && Session.TryGetValue(url, out reportBytes)) { return(reportBytes); } } XtraReport report = PredefinedReports.GetReport(url); if (report == null) { throw new Exception("Report was not found."); } using (var stream = new MemoryStream()) { report.SaveLayoutToXml(stream); report.Dispose(); return(stream.ToArray()); } }