/// <summary>
        /// Get report with format
        /// </summary>
        /// <param name="reportName">Actual Report Name</param>
        /// <param name="filters">Report Filters</param>
        /// <param name="reportExportType">Report Format</param>
        /// <returns></returns>
        public static byte[] GetReport(string reportName, ReportExportTypes reportExportType = ReportExportTypes.Pdf,
                                       ParameterValue[] filters = null)
        {
            var rs = new ReportExecutionService();
            //set report name
            var reportAbsoluteName = ReportLocalPath + "/" + reportName;

            //set ssrs service uri
            rs.Url = ReportServiceUrl + "/" + ReportServiceName;
            //set authentication
            rs.Credentials = CredentialCache.DefaultCredentials;
            var nc = new NetworkCredential(ReportUser, ReportPass, ReportDomain);

            rs.Credentials = nc;

            //set render args
            string deviceInfo = null;
            var    format     = reportExportType.ToString().ToUpper();

            if (format == "HTML")
            {
                deviceInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
                format     = "HTML4.0";
            }
            //load report
            rs.LoadReport(reportAbsoluteName, null);
            //set filters
            if (filters != null)
            {
                rs.SetExecutionParameters(filters, ReportParamsCulture);
            }

            Warning[] warnings;
            string[]  streamIDs;
            string    extension;
            string    mimeType;
            string    encoding;
            var       results = rs.Render(format, deviceInfo, out extension, out encoding, out mimeType, out warnings,
                                          out streamIDs);

            return(results);
        }
        /// <summary>
        /// Get report with format
        /// </summary>
        /// <param name="reportName">Actual Report Name</param>
        /// <param name="filters">Report Filters</param>
        /// <param name="reportExportType">Report Format</param>
        /// <returns></returns>
        public static byte[] GetReport(string reportName, ReportExportTypes reportExportType = ReportExportTypes.Pdf,
            ParameterValue[] filters = null)
        {
            var rs = new ReportExecutionService();
            //set report name
            var reportAbsoluteName = ReportLocalPath + "/" + reportName;
            //set ssrs service uri
            rs.Url = ReportServiceUrl + "/" + ReportServiceName;
            //set authentication
            rs.Credentials = CredentialCache.DefaultCredentials;
            var nc = new NetworkCredential(ReportUser, ReportPass, ReportDomain);
            rs.Credentials = nc;

            //set render args
            string deviceInfo = null;
            var format = reportExportType.ToString().ToUpper();

            if (format == "HTML")
            {
                deviceInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
                format = "HTML4.0";
            }
            //load report
            rs.LoadReport(reportAbsoluteName, null);
            //set filters
            if (filters != null)
                rs.SetExecutionParameters(filters, ReportParamsCulture);

            Warning[] warnings;
            string[] streamIDs;
            string extension;
            string mimeType;
            string encoding;
            var results = rs.Render(format, deviceInfo, out extension, out encoding, out mimeType, out warnings,
                out streamIDs);
            return results;
        }
 public void GenerateReport([FromBody]ParameterValue[] filters, string reportName, ReportExportTypes reportExportType = ReportExportTypes.Pdf)
 {
     HttpContext.Current.Session[SessionReport] = GetReport(reportName, reportExportType, filters);
 }
 public void GenerateReport([FromBody] ParameterValue[] filters, string reportName, ReportExportTypes reportExportType = ReportExportTypes.Pdf)
 {
     HttpContext.Current.Session[SessionReport] = GetReport(reportName, reportExportType, filters);
 }