public string RunReport(RunSsrsReportModel reportParams) { try { reportParams = _reportingServicesRepository.RunReport(reportParams); var sessionKey = Guid.NewGuid().ToString(); switch ((reportParams.Format ?? string.Empty).ToLower()) { case "xls": case "pdf": Session[string.Format("{0}_Name", sessionKey)] = reportParams.ReportName; Session[sessionKey] = reportParams.ReportData; return(string.Format("url:/plugins/reportingservices/ViewReportExported/{0}/{1}", reportParams.Export ? reportParams.Format :string.Format("{0}_inline", reportParams.Format), sessionKey)); default: // Assumed HTML return("Invalid format"); } } catch (Exception ex) { _logger.Error(ex.Message, ex); return(ex.ToString()); } }
public IHttpActionResult RunReport(RunSsrsReportModel reportParams) { var responseObject = _ReportingRuleEngine.RunReport(reportParams); return(new HttpResult <RunSsrsReportModel>(responseObject, Request)); }
public IHttpActionResult LoadReportParams(RunSsrsReportModel reportParams) { var responseObject = _ReportingRuleEngine.LoadReportParams(reportParams); return(new HttpResult <Response <SsrsReportParam> >(responseObject, Request)); }
public RunSsrsReportModel RunReport(RunSsrsReportModel reportParams) { return(_reportingServiceService.RunReport(reportParams)); }
public Response <SsrsReportParam> LoadReportParams(RunSsrsReportModel reportParams) { return(_reportingServiceService.LoadReportParams(reportParams)); }
public RunSsrsReportModel RunReport(RunSsrsReportModel reportParams) { try { var response = new RunSsrsReportModel(); var outputFormat = string.Empty; switch ((reportParams.Format ?? string.Empty).ToLower()) { case "html": outputFormat = "HTML4.0"; break; case "xls": outputFormat = "EXCEL"; break; case "word": outputFormat = "WORD"; break; case "pdf": outputFormat = "PDF"; break; default: outputFormat = "HTML4.0"; break; } string deviceInfo = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; string extension; string encoding; string mimeType; SSRS_Exec.Warning[] warnings; string[] streamIDs; var report = _GetReportByID(reportParams.ReportId); var reportInfo = _rs_Svc_2005.LoadReport(report.Path, null); // Extract Param Values var parameters = new List <SSRS_Exec.ParameterValue>(); foreach (var ssrsparam in reportParams.ReportParameters) { if (ssrsparam.MultiValue) { foreach (var val in ssrsparam.Values) { parameters.Add(new SSRS_Exec.ParameterValue() { Name = ssrsparam.Name, Value = val.Value }); } } else if (ssrsparam.ParameterTypeName == "DateTime") { parameters.Add(new SSRS_Exec.ParameterValue() { Name = ssrsparam.Name, Value = Convert.ToDateTime(ssrsparam.Value).ToString("dd/MM/yyyy") }); } else { parameters.Add(new SSRS_Exec.ParameterValue() { Name = ssrsparam.Name, Value = ssrsparam.Value }); } } var manParamNames = new string[] { "ReportUserID", "ReportName", "ReportUserOrgStructure" }; foreach (var param in parameters.Where(p => manParamNames.Contains(p.Name))) { switch (param.Name) { case "ReportUserID": param.Value = AuthContext.Auth.User.UserID.ToString(); break; case "ReportName": param.Value = report.ReportName; break; case "ReportUserOrgStructure": param.Value = report.ReportGroupID.ToString(); break; } } _rs_Svc_2005.SetExecutionParameters(parameters.ToArray(), "en-us"); reportParams.ReportName = report.ReportName; reportParams.ReportData = _rs_Svc_2005.Render(outputFormat, deviceInfo, out extension, out mimeType, out encoding, out warnings, out streamIDs); return(reportParams); } catch (Exception ex) { _Logger.LogException(new ExceptionModel() { Message = ex.ToString(), Comments = "reportId" + reportParams.ReportId, Source = "Axis.Service.Reporting.ReportingService.RunReport" }); throw ex; } }
public Response <SsrsReportParam> LoadReportParams(RunSsrsReportModel reportParams) { try { var response = new Response <SsrsReportParam>(); response.DataItems = new List <SsrsReportParam>(); var report = _GetReportByID(reportParams.ReportId); SSRS_SOAP.ParameterValue[] pValues = null; SSRS_SOAP.DataSourceCredentials[] credentials = null; if (reportParams.ParamValues != null && reportParams.ParamValues.Count > 0) { // Get UserID param var pUserID = reportParams.ParamValues .FirstOrDefault(p => p.Name == "ReportUserID"); // Set UserID param // For data assurance, UserID needs to be explicitly set even if passed from UI if (pUserID != null) { pUserID.Value = AuthContext.Auth.User.UserID.ToString(); } pValues = reportParams.ParamValues .Where(v => v.Value != null) .Select(v => new SSRS_SOAP.ParameterValue() { Name = v.Name, Value = v.Value, Label = v.Label, }).ToArray(); } var parameters = _rs_Svc_2010.GetItemParameters(report.Path, null, true, pValues, credentials); foreach (SSRS_SOAP.ItemParameter v in parameters) { var p = new SsrsReportParam() { Name = v.Name, ParameterTypeName = v.ParameterTypeName, Nullable = v.Nullable, AllowBlank = v.AllowBlank, MultiValue = v.MultiValue, QueryParameter = v.QueryParameter, Prompt = v.Prompt, PromptUser = v.PromptUser, ValidValuesQueryBased = v.ValidValuesQueryBased, DefaultValuesQueryBased = v.DefaultValuesQueryBased, ParameterStateName = v.ParameterStateName, ErrorMessage = v.ErrorMessage }; if (p.Name == "ReportUserID") { p.Value = AuthContext.Auth.User.UserID.ToString(); } if (v.Dependencies != null) { p.Dependencies = v.Dependencies.ToList(); } if (v.ValidValues != null) { p.ValidValues = v.ValidValues.Select(vv => new ValidValue() { Label = vv.Label, Value = vv.Value }).ToList(); } ValidValue defVal; if (v.DefaultValues != null) { foreach (var dv in v.DefaultValues.Distinct()) { defVal = p.ValidValues.FirstOrDefault(vv => vv.Value == dv); if (defVal != null) { p.DefaultValues.Add(defVal); } } } response.DataItems.Add(p); } return(response); } catch (Exception ex) { _Logger.LogException(new ExceptionModel() { Message = ex.ToString(), Comments = "reportId" + reportParams.ReportId, Source = "Axis.Service.Reporting.ReportingService.LoadReportParams" }); throw ex; } }
public RunSsrsReportModel RunReport(RunSsrsReportModel reportParams) { const string apiUrl = BaseRoute + "RunReport"; return(_communicationManager.Post <RunSsrsReportModel, RunSsrsReportModel>(reportParams, apiUrl)); }
public Response <SsrsReportParam> LoadReportParams(RunSsrsReportModel reportParams) { const string apiUrl = BaseRoute + "LoadReportParams"; return(_communicationManager.Post <RunSsrsReportModel, Response <SsrsReportParam> >(reportParams, apiUrl)); }