public RSExecutionInfo2 SetExecutionCredentials2(RSDataSourceCredentials[] Credentials) { DataSourceCredentials[] dsCredentials = (DataSourceCredentials[])Converter.Convert(Credentials); ExecutionInfo2 outval = rs.SetExecutionCredentials2(dsCredentials); return((RSExecutionInfo2)Converter.Convert(outval)); }
public RSExecutionInfo2 SetExecutionParameters2(RSParameterValue[] Parameters, string ParameterLanguage) { ParameterValue[] paramValues = (ParameterValue[])Converter.Convert(Parameters); ExecutionInfo2 outval = rs.SetExecutionParameters2(paramValues, ParameterLanguage); return((RSExecutionInfo2)Converter.Convert(outval)); }
public void ItReturnsTheParametersFromThePromptService2() { const string promptName = "Prompt Name"; const string path = "Path"; const string promptReportName = "Prompt Report Name"; var parmaterValues = A.Array(A.ParameterValue().Build(), A.ParameterValue().Build()); var parameters = A.Array(A.ReportParameter().Build(), A.ReportParameter().Build()); var executionInfo = new ExecutionInfo2 { Parameters = parameters }; _promptReportNameParser .Setup(p => p.Parse(promptName)) .Returns(promptReportName); _reportServerFolder .Setup(f => f.GetFullPathFor(promptReportName)) .Returns(path); _reportExecutionService .Setup(s => s.SetExecutionParameters2(parmaterValues, null)) .Returns(executionInfo); var serviceParameters = _parameterSerivce.GetParametersFor(promptName, parmaterValues); _reportExecutionService.Verify(s => s.LoadReport2(path, null), Times.Exactly(1)); Assert.AreEqual(parameters, serviceParameters); }
public byte[][] RenderReport(string reportPath, int id, string docType, short paperSize, bool save) { string historyID = null; string deviceInfo = ""; //@"<DeviceInfo><DpiX>300</DpiX><DpiY>300</DpiY></DeviceInfo> "; Byte[] results; const string format = "IMAGE"; string encoding = String.Empty; string mimeType = String.Empty; string extension = String.Empty; Warning[] warnings = null; string[] streamIDs = null; System.Collections.Generic.List <byte[]> list = new System.Collections.Generic.List <byte[]>(); try { ParameterValue[] rp = new ParameterValue[2]; rp.SetValue(new ParameterValue { Name = "id", Value = id.ToString() }, 0); rp.SetValue(new ParameterValue { Name = "DT", Value = DateTime.Now.ToString() }, 1); ei = res.LoadReport(reportPath, historyID); res.SetExecutionParameters(rp, "ru-ru"); int page = 0; while (true) { deviceInfo = string.Format(@"<DeviceInfo><OutputFormat>{0}</OutputFormat><PrintDpiX>300</PrintDpiX><PrintDpiY>300</PrintDpiY><StartPage>{1}</StartPage></DeviceInfo>", docType, ++page); results = res.Render(format, deviceInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs); ExecutionInfo2 ei2 = res.GetExecutionInfo2(); if (results != null && results.Length > 0) { list.Add(results); } else { break; } } m_numberOfPages = list.Count; if (m_numberOfPages > 0) { return(list.ToArray()); } else { return(null); } } catch (Exception ex) { throw new Kesco.Lib.Log.DetailedException(ex.Message, ex, Kesco.Lib.Log.Priority.ExternalError, string.Format("Parameters - reportPath (URL): {0} DocumentID: {1} DocumentType: {2}", reportPath, id, docType)); } }
public RSExecutionInfo2 LoadReportDefinition2([System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")] byte[] Definition, out RSWarning[] warnings) { Warning[] warns = null; ExecutionInfo2 outval = rs.LoadReportDefinition2(Definition, out warns); warnings = (RSWarning[])Converter.Convert(warns); return((RSExecutionInfo2)Converter.Convert(outval)); }
public int Sort2(string SortItem, RSSortDirectionEnum Direction, bool Clear, RSPageCountMode PaginationMode, out string ReportItem, out RSExecutionInfo2 ExecutionInfo) { SortDirectionEnum direction = (SortDirectionEnum)Converter.Convert(Direction); PageCountMode paginationMode = (PageCountMode)Converter.Convert(PaginationMode); ExecutionInfo2 execInfo = null; int outval = rs.Sort2(SortItem, direction, Clear, paginationMode, out ReportItem, out execInfo); ExecutionInfo = (RSExecutionInfo2)Converter.Convert(execInfo); return(outval); }
public void ItGetsTheParametersFromTheReportExecutionServiceUsingThePath() { const string path = "Path"; var serviceParameters = A.Array(A.ReportParameter().Build(), A.ReportParameter().Build()); var exectuionInfo = new ExecutionInfo2 { Parameters = serviceParameters }; _reportExecutionService.Setup(s => s.LoadReport2(path, null)).Returns(exectuionInfo); var parameters = _parameterService.GetParametersFor(path); Assert.AreEqual(serviceParameters, parameters); }
private static ExecutionInfo FromSoapExecutionInfo(Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.ExecutionInfo soapExecutionInfo) { if (soapExecutionInfo == null) { return(null); } ReportParameterInfoCollection reportParameterInfoCollection = null; Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.ReportParameter[] parameters = soapExecutionInfo.Parameters; if (parameters != null) { ReportParameterInfo[] array = new ReportParameterInfo[parameters.Length]; for (int i = 0; i < parameters.Length; i++) { array[i] = SoapParameterToReportParameterInfo(parameters[i]); } reportParameterInfoCollection = new ReportParameterInfoCollection(array); } else { reportParameterInfoCollection = new ReportParameterInfoCollection(); } PageCountMode pageCountMode = PageCountMode.Actual; ExecutionInfo2 executionInfo = soapExecutionInfo as ExecutionInfo2; if (executionInfo != null && executionInfo.PageCountMode == Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.PageCountMode.Estimate) { pageCountMode = PageCountMode.Estimate; } ParametersPaneLayout parametersPaneLayout = null; ExecutionInfo3 executionInfo2 = soapExecutionInfo as ExecutionInfo3; if (executionInfo2 != null && executionInfo2.ParametersLayout != null && parameters != null) { parametersPaneLayout = new ParametersPaneLayout(); SoapExecutionInfoToParametersLayout(parametersPaneLayout, executionInfo2, reportParameterInfoCollection); } ReportPageSettings pageSettings = new ReportPageSettings(soapExecutionInfo.ReportPageSettings.PaperSize.Height, soapExecutionInfo.ReportPageSettings.PaperSize.Width, soapExecutionInfo.ReportPageSettings.Margins.Left, soapExecutionInfo.ReportPageSettings.Margins.Right, soapExecutionInfo.ReportPageSettings.Margins.Top, soapExecutionInfo.ReportPageSettings.Margins.Bottom); return(new ExecutionInfo(soapExecutionInfo.ExecutionID, soapExecutionInfo.HistoryID, soapExecutionInfo.ReportPath, soapExecutionInfo.NumPages, soapExecutionInfo.HasDocumentMap, soapExecutionInfo.AutoRefreshInterval, soapExecutionInfo.CredentialsRequired, soapExecutionInfo.ParametersRequired, soapExecutionInfo.HasSnapshot, soapExecutionInfo.NeedsProcessing, soapExecutionInfo.ExpirationDateTime, soapExecutionInfo.AllowQueryExecution, pageCountMode, ReportDataSourceInfoCollection.FromSoapDataSourcePrompts(soapExecutionInfo.DataSourcePrompts), reportParameterInfoCollection, pageSettings, parametersPaneLayout)); }
public int Sort(string SortItem, SortDirectionEnum Direction, bool Clear, PageCountMode PaginationMode, out string ReportItem, out ExecutionInfo ExecutionInfo, out int NumPages) { string rptItem = null; int nPages = 0; ExecutionInfo2 execInfo = null; ProxyMethod <int> initialMethod = new ProxyMethod <int>("Sort2", delegate { int result2 = Sort2(SortItem, Direction, Clear, PaginationMode, out rptItem, out execInfo); if (execInfo != null) { nPages = execInfo.NumPages; } return(result2); }); ProxyMethod <int> retryMethod = new ProxyMethod <int>("Sort", () => base.Sort(SortItem, Direction, Clear, out rptItem, out nPages)); int result = ProxyMethodInvocation.Execute(this, initialMethod, retryMethod); ExecutionInfo = execInfo; NumPages = nPages; ReportItem = rptItem; return(result); }
public FileContentResult Index() { Dictionary <string, string> reportParameters = new Dictionary <string, string>(); Request.QueryString.AllKeys.Where(x => !x.Equals("ReportName")).ForEach(x => reportParameters.Add(x, Request.QueryString[x])); byte[] byteResult = new byte[0]; string extension, mimeType, encoding; Warning[] warnings = new Warning[0]; string[] streamIds = new string[0]; ServerInfoHeader serverInfoHeader; ExecutionInfo2 execInfo = new ExecutionInfo2(); ReportExecutionServiceSoapClient rsServiceClient = new ReportExecutionServiceSoapClient(); rsServiceClient.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation; ExecutionHeader execHeader = rsServiceClient.LoadReport2(null, "/Axis.ReportDB/" + Request.QueryString["ReportName"], null, out serverInfoHeader, out execInfo); rsServiceClient.SetExecutionParameters2(execHeader, null, reportParameters.Select(x => new ParameterValue { Name = x.Key, Value = x.Value }).ToArray(), "en-us", out execInfo); string sessionId = execInfo.ExecutionID; try { serverInfoHeader = rsServiceClient.Render2(execHeader, null, "PDF", @"<DeviceInfo><Toolbar>True</Toolbar></DeviceInfo>", PageCountMode.Actual, out byteResult, out extension, out mimeType, out encoding, out warnings, out streamIds); } catch (Exception) { throw; } return(new FileContentResult(byteResult, "application/pdf")); }
public RSExecutionInfo2 LoadReport2(string Report, string HistoryID) { ExecutionInfo2 outval = rs.LoadReport2(Report, HistoryID); return((RSExecutionInfo2)Converter.Convert(outval)); }
public int Sort2(string SortItem, SortDirectionEnum Direction, bool Clear, PageCountMode PaginationMode, out string ReportItem, out ExecutionInfo2 ExecutionInfo) { object[] results = this.Invoke("Sort2", new object[] { SortItem, Direction, Clear, PaginationMode}); ReportItem = ((string)(results[1])); ExecutionInfo = ((ExecutionInfo2)(results[2])); return ((int)(results[0])); }
/// <remarks/> public int EndSort2(System.IAsyncResult asyncResult, out string ReportItem, out ExecutionInfo2 ExecutionInfo) { object[] results = this.EndInvoke(asyncResult); ReportItem = ((string)(results[1])); ExecutionInfo = ((ExecutionInfo2)(results[2])); return ((int)(results[0])); }
private string GenerateReport(Dictionary <string, string> dictParam, bool bGetImagePath, bool preservecomments, string Report_Name) { string reportPath = string.Empty; string sReportFileName = string.Empty; FileInfo fi = null; reportPath = SSRSLibrary + "/" + Report_Name; SSRS.ReportExecutionService rs1 = new SSRS.ReportExecutionService(); rs1.Credentials = new System.Net.NetworkCredential(ClientConfiguration.WebServiceUserName, ClientConfiguration.WebServicePWD, ClientConfiguration.WebServiceUserDomain); ExecutionInfo2 execInfo = new ExecutionInfo2(); execInfo = rs1.LoadReport2(reportPath, null); Int32 counter = 0; SSRS.ParameterValue[] parameters = new SSRS.ParameterValue[dictParam.Count]; foreach (KeyValuePair <string, string> kvp in dictParam) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); // Prepare report parameters parameters[counter] = new SSRS.ParameterValue(); parameters[counter].Name = kvp.Key; parameters[counter].Value = kvp.Value; counter = counter + 1; } rs1.SetExecutionParameters2(parameters, null); //See Readme for different Types // Render arguments string encoding; string mimeType = "html/text"; string extension; SSRS.Warning[] warnings = null; string[] streamIDs = null; string format = "HTML4.0"; string devInfo = null; byte[] result = null; try { result = rs1.Render2(format, devInfo, PageCountMode.Estimate, out extension, out mimeType, out encoding, out warnings, out streamIDs); execInfo = rs1.GetExecutionInfo2(); UTF8Encoding enc = new UTF8Encoding(); string str = enc.GetString(result); //Hide Logo or parse string for anything str = str.Replace("<a", "<a style='display:none' "); string s = System.Text.ASCIIEncoding.ASCII.GetString(result); SendEmail(str, "*****@*****.**"); } catch (SoapException ex) { Console.WriteLine(ex.Detail.OuterXml); return(string.Empty); } sReportFileName = Report_Name; String ReportName = graphicspath + "\\" + sReportFileName + ".html"; // Write the contents of the report to an MHTML file. fi = new FileInfo(ReportName); if (fi.Exists) { fi.Delete(); } using (FileStream stream = File.Create(ReportName, result.Length)) { stream.Write(result, 0, result.Length); stream.Close(); } return(string.Empty); }
private string GenerateReport(Dictionary<string, string> dictParam, bool bGetImagePath, bool preservecomments, string Report_Name) { string reportPath = string.Empty; string sReportFileName = string.Empty; FileInfo fi = null; reportPath = SSRSLibrary + "/" + Report_Name; SSRS.ReportExecutionService rs1 = new SSRS.ReportExecutionService(); rs1.Credentials = new System.Net.NetworkCredential(ClientConfiguration.WebServiceUserName, ClientConfiguration.WebServicePWD, ClientConfiguration.WebServiceUserDomain); ExecutionInfo2 execInfo = new ExecutionInfo2(); execInfo = rs1.LoadReport2(reportPath, null); Int32 counter = 0; SSRS.ParameterValue[] parameters = new SSRS.ParameterValue[dictParam.Count]; foreach (KeyValuePair<string, string> kvp in dictParam) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); // Prepare report parameters parameters[counter] = new SSRS.ParameterValue(); parameters[counter].Name = kvp.Key; parameters[counter].Value = kvp.Value; counter = counter + 1; } rs1.SetExecutionParameters2(parameters, null); //See Readme for different Types // Render arguments string encoding; string mimeType = "html/text"; string extension; SSRS.Warning[] warnings = null; string[] streamIDs = null; string format = "HTML4.0"; string devInfo = null; byte[] result = null; try { result = rs1.Render2(format, devInfo, PageCountMode.Estimate, out extension, out mimeType, out encoding, out warnings, out streamIDs); execInfo = rs1.GetExecutionInfo2(); UTF8Encoding enc = new UTF8Encoding(); string str = enc.GetString(result); //Hide Logo or parse string for anything str = str.Replace("<a", "<a style='display:none' "); string s = System.Text.ASCIIEncoding.ASCII.GetString(result); SendEmail(str, "*****@*****.**"); } catch (SoapException ex) { Console.WriteLine(ex.Detail.OuterXml); return string.Empty; } sReportFileName =Report_Name; String ReportName = graphicspath + "\\" + sReportFileName + ".html"; // Write the contents of the report to an MHTML file. fi = new FileInfo(ReportName); if (fi.Exists) { fi.Delete(); } using (FileStream stream = File.Create(ReportName, result.Length)) { stream.Write(result, 0, result.Length); stream.Close(); } return string.Empty; }
public RSExecutionInfo2 LoadDrillthroughTarget2(string DrillthroughID) { ExecutionInfo2 outval = rs.LoadDrillthroughTarget2(DrillthroughID); return((RSExecutionInfo2)Converter.Convert(outval)); }
public RSExecutionInfo2 GetExecutionInfo2() { ExecutionInfo2 outval = rs.GetExecutionInfo2(); return((RSExecutionInfo2)Converter.Convert(outval)); }