示例#1
0
 /// <summary>
 /// Carrega a definição para o relatório.
 /// </summary>
 /// <param name="localReport"></param>
 protected virtual void LoadDefinition(Microsoft.Reporting.WebForms.LocalReport localReport)
 {
     if (Document is IReportDefinitionContainer)
     {
         localReport.LoadReportDefinition(((IReportDefinitionContainer)Document).GetDefinition());
     }
 }
示例#2
0
        public override void render(string sType, Stream st)
        {
            var localReport = new Microsoft.Reporting.WebForms.LocalReport();

            //rpt.ReportPath = "Rpt01.rdlc";
            localReport.EnableExternalImages = true;

            for (int i = 0; i < this.ds.Tables.Count; i++)
            {
                var o = new Microsoft.Reporting.WebForms.ReportDataSource(this.ds.Tables[i].TableName, this.ds.Tables[i]);
                localReport.DataSources.Add(o);
            }


            //string sReportName = Request.QueryString["ReportName"];
            System.IO.MemoryStream ms = new System.IO.MemoryStream(this.output);
            localReport.LoadReportDefinition(ms);
            //


            //MemoryStream ms = new MemoryStream();
            //file.PostedFile.InputStream.CopyTo(ms);
            //var byts = ms.ToArray();
            //ms.Dispose();

            byte[] bytes = localReport.Render(sType);

            st.Write(bytes, 0, bytes.Length);
        }
示例#3
0
        /// <summary>
        /// Adiciona o assembly para o relatório
        /// </summary>
        /// <param name="localReport"></param>
        /// <param name="assembly"></param>
        private static void AddAssembly(Microsoft.Reporting.WebForms.LocalReport localReport, System.Reflection.Assembly assembly)
        {
            var assemblyName = assembly.GetName();

            localReport.AddFullTrustModuleInSandboxAppDomain(
                new System.Security.Policy.StrongName(
                    new System.Security.Permissions.StrongNamePublicKeyBlob(assemblyName.GetPublicKey()),
                    assemblyName.Name, assemblyName.Version));
        }
示例#4
0
        public IHttpActionResult PrintPackingListExtend(int id, int template)
        {
            Library.DTO.Notification notification;

            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }

            //GET DATA
            BLL.ECommercialInvoiceMng bll = new BLL.ECommercialInvoiceMng();
            DTO.ECommercialInvoiceMng.PackingListContainerPrintout dtoPrintout = bll.GetPackingListPrintoutData(id, ControllerContext.GetAuthUserId(), out notification);

            //CREATE PRINTOUT
            string printoutFileName = string.Empty;

            if (dtoPrintout != null && dtoPrintout.PackingListPrintouts != null && dtoPrintout.PackingListDetailPrintouts != null)
            {
                string reportName = "";
                //int? companyID = fwBll.GetCompanyID(ControllerContext.GetAuthUserId());
                switch (template)
                {
                case 1:
                    reportName = "PackingListPrint_OrangePine.rdlc";
                    break;

                default:
                    reportName = "PackingListPrint.rdlc";
                    break;
                }

                Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

                Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                rsInvoice.Name  = "PackingList";
                rsInvoice.Value = dtoPrintout.PackingListPrintouts;
                lr.DataSources.Add(rsInvoice);

                Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                rsInvoiceDetail.Name  = "PackingListDetail";
                rsInvoiceDetail.Value = dtoPrintout.PackingListDetailPrintouts;
                lr.DataSources.Add(rsInvoiceDetail);

                printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF");
            }
            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = printoutFileName, Message = notification
            }));
        }
示例#5
0
        public static void BindControl(Microsoft.Reporting.WebForms.ReportViewer rv, DataSet data, string name, string virtualRldc)
        {
            rv.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;

            Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
            rds.Name  = name + "_Table";
            rds.Value = data.Tables[0];

            Microsoft.Reporting.WebForms.LocalReport r = rv.LocalReport;
            r.ReportPath = virtualRldc;
            r.DataSources.Add(rds);
        }
示例#6
0
        public static byte[] RenderReport(DataSet data, string name, string type)
        {
            Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
            rds.Name  = name + "_Table";
            rds.Value = data.Tables[0];

            string virtualRdlc = BuildRDLC(data, name);

            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.ReportPath = HttpContext.Current.Server.MapPath(virtualRdlc);
            lr.DataSources.Add(rds);

            return(RenderReport(lr, name, type));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;

            System.Data.DataTable dt = null;
            Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource("COR_Basic", dt);
            // rds.Name = "COR_Basic";
            // rds.Value = dt;

            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.DataSources.Add(rds);
            lr.ReportPath = "bla.rdlc";

            byte[] mybytes = lr.Render("WORD");
        }
示例#8
0
        private void CreatePDFDocument(string strReportPath, Microsoft.Reporting.WebForms.ReportViewer AIMSReport, string strDestinationFilePath)
        {
            Microsoft.Reporting.WebForms.Warning[] warnings = null;
            string[] streamids  = null;
            string   mimeType   = null;
            string   encoding   = null;
            string   extension  = null;
            string   deviceInfo = null;

            byte[] bytes;
            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();

            lr.ReportPath = strReportPath;
            deviceInfo    = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>";
            bytes         = AIMSReport.LocalReport.Render("PDF", deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
            WriteToFile(strDestinationFilePath, bytes);
        }
        public IHttpActionResult PrintCreditNote(int id, string fileTypeID)
        {
            Library.DTO.Notification notification;

            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }
            //GET DATA
            BLL.CreditNoteMng bll = new BLL.CreditNoteMng();
            DTO.ECommercialInvoiceMng.InvoiceContainerPrintout dtoPrintout = bll.GetCreditNotePrintout(id, ControllerContext.GetAuthUserId(), out notification);

            //CREATE PRINTOUT
            string printoutFileName = string.Empty;

            if (dtoPrintout != null && dtoPrintout.Invoices != null && dtoPrintout.InvoiceDetails != null)
            {
                Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + "CreditNotePrint.rdlc";

                Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                rsInvoice.Name  = "Invoice";
                rsInvoice.Value = dtoPrintout.Invoices;
                lr.DataSources.Add(rsInvoice);

                Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                rsInvoiceDetail.Name  = "InvoiceDetail";
                rsInvoiceDetail.Value = dtoPrintout.InvoiceDetails;
                lr.DataSources.Add(rsInvoiceDetail);

                printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, fileTypeID);
            }
            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = printoutFileName, Message = notification
            }));
        }
示例#10
0
 /// <summary>
 /// Carrega a definição para o relatório.
 /// </summary>
 /// <param name="localReport">Relatório local para onde a definição será carregada.</param>
 /// <param name="report"></param>
 protected virtual void LoadDefinition(Microsoft.Reporting.WebForms.LocalReport localReport, System.IO.Stream report)
 {
     _compatiblesParameters.Clear();
     if (Document is IReportDefinitionContainer)
     {
         System.Xml.Linq.XElement root = null;
         root = System.Xml.Linq.XElement.Load(report, System.Xml.Linq.LoadOptions.None);
         var nameAttribute = root.Attribute("Name");
         if (nameAttribute != null && !string.IsNullOrEmpty(nameAttribute.Value) && Document.Title == null)
         {
             Document.Title = nameAttribute.Value.GetFormatter();
         }
         var reportDefinition = root.GetDefaultNamespace().NamespaceName;
         var reportParameters = root.Elements(System.Xml.Linq.XName.Get("ReportParameters", reportDefinition)).FirstOrDefault();
         var parameters       = new List <string>();
         if (reportParameters != null)
         {
             foreach (var parameter in reportParameters.Elements(System.Xml.Linq.XName.Get("ReportParameter", reportDefinition)))
             {
                 var paramenterName = parameter.Attribute("Name");
                 if (paramenterName != null)
                 {
                     parameters.Add(paramenterName.Value);
                 }
             }
         }
         _compatiblesParameters = parameters;
         using (var stream = new System.IO.MemoryStream())
         {
             root.Save(stream);
             stream.Seek(0, System.IO.SeekOrigin.Begin);
             localReport.LoadReportDefinition(stream);
         }
     }
     else
     {
         localReport.LoadReportDefinition(report);
     }
 }
示例#11
0
        public override byte[] export(string fileType)
        {
            var rpt = new Microsoft.Reporting.WebForms.LocalReport();

            //rpt.ReportPath = "Rpt01.rdlc";
            rpt.EnableExternalImages = true;


            for (int i = 0; i < this.ds.Tables.Count; i++)
            {
                var o = new Microsoft.Reporting.WebForms.ReportDataSource(this.ds.Tables[i].TableName, this.ds.Tables[i]);
                rpt.DataSources.Add(o);
            }

            //string sReportName = Request.QueryString["ReportName"];
            System.IO.MemoryStream ms = new System.IO.MemoryStream(this.output);
            rpt.LoadReportDefinition(ms);


            Byte[] results = rpt.Render(fileType);

            return(results);
        }
示例#12
0
        protected void ReportViewer1_Drillthrough(object sender, Microsoft.Reporting.WebForms.DrillthroughEventArgs e)
        {
            Microsoft.Reporting.WebForms.LocalReport lr = e.Report as Microsoft.Reporting.WebForms.LocalReport;

            if (rptFacade == null)
            {
                rptFacade = new ReportViewFacade(this.DataProvider);
            }
            RptViewDesignMain rptDesign = rptFacade.GetRptViewDesignMainByReportName(e.ReportPath.ToUpper());

            RptViewUserSubscription[] viewerInput = new RptViewUserSubscription[lr.OriginalParametersToDrillthrough.Count];

            RptViewDataSource dataSource = (RptViewDataSource)rptFacade.GetRptViewDataSource(designMain.DataSourceID);

            for (int i = 0; i < lr.OriginalParametersToDrillthrough.Count; i++)
            {
                viewerInput[i]           = new RptViewUserSubscription();
                viewerInput[i].InputName = lr.OriginalParametersToDrillthrough[i].Name;

                if (dataSource.SourceType == DataSourceType.SQL)
                {
                    viewerInput[i].InputType         = ReportViewerInputType.SqlFilter;
                    viewerInput[i].SqlFilterSequence = i + 1;
                }
                else
                {
                    viewerInput[i].InputType = ReportViewerInputType.DllParameter;
                }

                viewerInput[i].InputValue = lr.OriginalParametersToDrillthrough[i].Values[0];
            }

            DataSet dsSource = rptFacade.ExecuteDataSetFromSource(rptDesign.ReportID, viewerInput, Server.MapPath("").ToString().Substring(0, Server.MapPath("").ToString().LastIndexOf("\\")));

            lr.DataSources.Clear();
            lr.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("MESRPT", dsSource.Tables[0]));
        }
示例#13
0
        public IHttpActionResult PrintNewPickingList(int id)
        {
            Library.DTO.Notification notification;

            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), getModuleCode(), Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }

            //GET DATA
            BLL.WarehousePickingListMng bll = new BLL.WarehousePickingListMng();
            DTO.WarehousePickingListMng.PickingListContainerPrintout dtoPrintout = bll.GetNewPickingListPrintData(id, ControllerContext.GetAuthUserId(), out notification);

            //CREATE PRINTOUT
            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + "PickingListPrint.rdlc";

            Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
            rsInvoice.Name  = "PickingList";
            rsInvoice.Value = dtoPrintout.PickingListPrintouts;
            lr.DataSources.Add(rsInvoice);

            Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
            rsInvoiceDetail.Name  = "PickingListDetail";
            rsInvoiceDetail.Value = dtoPrintout.PickingListDetailPrintouts;
            lr.DataSources.Add(rsInvoiceDetail);

            string printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF");


            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = printoutFileName, Message = notification
            }));
        }
示例#14
0
        public static byte[] RenderReport(Microsoft.Reporting.WebForms.LocalReport lr, string name, string type)
        {
            string extension = string.Empty;
            string mimeType  = string.Empty;

            switch (type)
            {
            case "PDF":
                extension = "pdf";
                mimeType  = "application/pdf";
                break;

            case "Excel":
                extension = "xls";
                mimeType  = "application/vnd.excel";
                break;

            case "Image":
                extension = "emf";
                mimeType  = "application/image";
                break;

            default:
                throw new Exception("Unrecognized type: " + type + ".  Type must be PDF, Excel or Image.");
            }

            //The DeviceInfo settings should be changed based on the reportType
            //http://msdn2.microsoft.com/en-us/library/ms155397.aspx
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<DeviceInfo>");
            sb.Append("<OutputFormat>");
            sb.Append(type);
            sb.Append("</OutputFormat>");
            sb.Append("<PageWidth>11in</PageWidth>");
            sb.Append("<PageHeight>8.5in</PageHeight>");
            sb.Append("<MarginTop>1in</MarginTop>");
            sb.Append("<MarginLeft>1in</MarginLeft>");
            sb.Append("<MarginRight>1in</MarginRight>");
            sb.Append("<MarginBottom>1in</MarginBottom>");
            sb.Append("</DeviceInfo>");
            string deviceInfo = sb.ToString();

            string encoding;

            Microsoft.Reporting.WebForms.Warning[] warnings;
            string[] streams;
            byte[]   result;

            //Render the report
            result = lr.Render(
                type,
                deviceInfo,
                out mimeType,
                out encoding,
                out extension,
                out streams,
                out warnings);

            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.ContentType = mimeType;
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + name + "." + extension);
            HttpContext.Current.Response.BinaryWrite(result);
            HttpContext.Current.Response.End();

            return(result);
        }
示例#15
0
        /// <summary>
        /// Carrega a definição do relatório.
        /// </summary>
        /// <param name="localReport"></param>
        protected override void LoadDefinition(Microsoft.Reporting.WebForms.LocalReport localReport)
        {
            if (Document is Colosoft.Reports.IReportDefinitionContainer)
            {
                //if (_alteraStatus != null)
                //    _alteraStatus("Carregando definição");

                System.Xml.Linq.XElement root = null;

                using (var stream = ((Colosoft.Reports.IReportDefinitionContainer)Document).GetDefinition())
                    root = System.Xml.Linq.XElement.Load(stream, System.Xml.Linq.LoadOptions.None);

                const string reportDefinition = "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition";

                var codeElement = root.Elements(System.Xml.Linq.XName.Get("Code", reportDefinition)).FirstOrDefault();

                const string translateMethodHeader = "Public Function Translate";
                const string endMethod             = "End Function";
                int          index = 0;

                if (codeElement != null &&
                    !codeElement.IsEmpty &&
                    !string.IsNullOrEmpty(codeElement.Value) &&
                    (index = codeElement.Value.IndexOf(translateMethodHeader, StringComparison.InvariantCultureIgnoreCase)) >= 0)
                {
                    var endIndex = codeElement.Value.IndexOf(endMethod, index, StringComparison.InvariantCultureIgnoreCase);

                    // Alterar o método de tradução
                    codeElement.Value = codeElement.Value.Substring(0, index) +
                                        @"Public Function Translate(ByVal instance As Object, ByVal enumTypeName As String) As String
                            return Glass.Relatorios.UI.Web.GlassReportViewer.Translate(instance, enumTypeName)
                          End Function" + codeElement.Value.Substring(endIndex + endMethod.Length);
                }

                const string translate2MethodHeader = "Public Function Translate2";
                index = 0;

                if (codeElement != null &&
                    !codeElement.IsEmpty &&
                    !string.IsNullOrEmpty(codeElement.Value) &&
                    (index = codeElement.Value.IndexOf(translate2MethodHeader, StringComparison.InvariantCultureIgnoreCase)) >= 0)
                {
                    var endIndex = codeElement.Value.IndexOf(endMethod, index, StringComparison.InvariantCultureIgnoreCase);

                    // Alterar o método de tradução
                    codeElement.Value = codeElement.Value.Substring(0, index) +
                                        @"Public Function Translate2(ByVal instance As Object, ByVal enumTypeName As String, ByVal groupKey As String) As String
                            return Glass.Relatorios.UI.Web.GlassReportViewer.Translate2(instance, enumTypeName, groupKey)
                          End Function" + codeElement.Value.Substring(endIndex + endMethod.Length);
                }

                var codeModules =
                    root.Elements(System.Xml.Linq.XName.Get("CodeModules", reportDefinition))
                    .FirstOrDefault();

                if (codeModules == null)
                {
                    codeModules = new XElement(XName.Get("CodeModules", reportDefinition));
                    root.Add(codeModules);
                }

                codeModules.Add(new XElement(XName.Get("CodeModule", reportDefinition))
                {
                    Value = "Colosoft.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d3b3c440aed9b980"
                });

                codeModules.Add(new XElement(XName.Get("CodeModule", reportDefinition))
                {
                    Value = "Colosoft.Reports, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec8331ec4228d300"
                });

                codeModules.Add(new XElement(XName.Get("CodeModule", reportDefinition))
                {
                    Value = "Colosoft.Reports.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b0156e5c4c7a6003"
                });

                codeModules.Add(new XElement(XName.Get("CodeModule", reportDefinition))
                {
                    Value = "Glass.Relatorios, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                });

                codeModules.Add(new XElement(XName.Get("CodeModule", reportDefinition))
                {
                    Value = "Glass.Relatorios.UI.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
                });

                using (var stream = new System.IO.MemoryStream())
                {
                    root.Save(stream);
                    stream.Seek(0, System.IO.SeekOrigin.Begin);
                    localReport.LoadReportDefinition(stream);
                }
            }
        }
示例#16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // ReportViewer1.ShowExportControls = false
            // ReportViewer1.ShowFindControls = false
            // ReportViewer1.ShowPrintButton = false
            // ReportViewer1.ShowPromptAreaButton = false
            // ReportViewer1.ShowParameterPrompts = false
            // ReportViewer1.ShowRefreshButton = false
            // ReportViewer1.ShowPageNavigationControls = false
            // ReportViewer1.ShowZoomControl = true
            // ReportViewer1.ShowToolBar = false
            // ReportViewer1.ShowDocumentMapButton = false
            // ReportViewer1.ShowBackButton = false
            // ReportViewer1.ToolBarItemBorderStyle = BorderStyle.None

            ReportViewer1.ShowToolBar = false;
            ReportViewer1.ShowParameterPrompts = true;
            ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;

            ReportViewer1.LocalReport.ReportPath = "GM_Gebaeudestammdaten_Wincasa.rdl"; //rdlc ?
            ReportViewer1.LocalReport.EnableHyperlinks = true;
            ReportViewer1.LocalReport.EnableExternalImages = true;
            ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(System.Reflection.Assembly.GetExecutingAssembly().Evidence);

            Microsoft.Reporting.WebForms.ReportParameterInfoCollection x = ReportViewer1.LocalReport.GetParameters();

            /*

            parameters.Add(new ParameterValue
            {
                Name = "in_stichtag",
                Value = System.DateTime.Now.ToString("MM'/'dd'/'yyyy")
            });
            parameters.Add(new ParameterValue
            {
                Name = "in_mandant",
                Value = "0"
            });
            // in use
            parameters.Add(new ParameterValue
            {
                Name = "in_sprache",
                Value = "DE"
            });
            parameters.Add(new ParameterValue
            {
                Name = "in_standort",
                Value = "00000000-0000-0000-0000-000000000000"
            });
            parameters.Add(new ParameterValue
            {
                Name = "in_gebaeude",
                Value = "00000000-0000-0000-0000-000000000000"
            });

            parameters.Add(new ParameterValue
            {
                Name = "def_logo",
                Value = "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"
            });
            parameters.Add(new ParameterValue
            {
                Name = "def_padding_left",
                Value = 70
            });
            parameters.Add(new ParameterValue
            {
                Name = "def_padding_right",
                Value = 0
            });
            parameters.Add(new ParameterValue
            {
                Name = "def_padding_top",
                Value = 0
            });
            parameters.Add(new ParameterValue
            {
                Name = "def_padding_bottom",
                Value = 0
            });
            parameters.Add(new ParameterValue
            {
                Name = "def_mime",
                Value = "image/gif"
            });

            parameters.Add(new ParameterValue
            {
                Name = "def_HideLogo",
                Value = false
            });
            */

            foreach (Microsoft.Reporting.WebForms.ReportParameterInfo pi in x)
            {
                System.Console.WriteLine(pi.Prompt);
            }

            System.Collections.Generic.List<Microsoft.Reporting.WebForms.ReportParameter> parms = new System.Collections.Generic.List<Microsoft.Reporting.WebForms.ReportParameter>();
            // Add Parameters of type Microsoft.Reporting.Windows.ReportParameter
            parms.Add(new Microsoft.Reporting.WebForms.ReportParameter("Test", "Whatever"));
            parms.Add(new Microsoft.Reporting.WebForms.ReportParameter("CustomerID", new string[] { "14335", "15094" }));

            //  http://forums.asp.net/t/1656685.aspx/1
            //  Clears the source data (below) before a new request is sent
            // ReportViewer1.LocalReport.DataSources.Clear();
            // ReportViewer1.ShowReportBody = true;

            ReportViewer1.ServerReport.SetParameters(parms);

            System.Data.DataTable dt = null;
            Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource("COR_Basic", dt);
            // rds.Name = "COR_Basic";
            // rds.Value = dt;

            // https://msdn.microsoft.com/en-US/library/ms251837(v=VS.90).aspx
            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.DataSources.Add(rds);
            lr.ReportPath = "bla.rdlc";

            string deviceInfo = null;

            /*
            deviceInfo =
              "<DeviceInfo>" +
              "  <OutputFormat>EMF</OutputFormat>" +
              "  <PageWidth>8.5in</PageWidth>" +
              "  <PageHeight>11in</PageHeight>" +
              "  <MarginTop>0.25in</MarginTop>" +
              "  <MarginLeft>0.25in</MarginLeft>" +
              "  <MarginRight>0.25in</MarginRight>" +
              "  <MarginBottom>0.25in</MarginBottom>" +
              "</DeviceInfo>";
            */

            Microsoft.Reporting.WebForms.CreateStreamCallback cb = CreateStream;
            Microsoft.Reporting.WebForms.Warning[] warnings;

            //lr.Render("WORD", deviceInfo, cb, out warnings);
            lr.Render("PDF", deviceInfo, cb, out warnings);
        }
示例#17
0
        public string GetPrintoutData(int saleOrderID, string reportName, out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification {
                Type = Library.DTO.NotificationType.Success
            };
            try
            {
                using (SaleOrderMngEntities context = CreateContext())
                {
                    SaleOrderMng_SaleOrder_ReportView dbItem;
                    dbItem = context.SaleOrderMng_SaleOrder_ReportView
                             .Include("SaleOrderMng_SaleOrderDetail_ReportView.SaleOrderMng_SaleOrderDetailExtend_ReportView")
                             .Include("SaleOrderMng_SaleOrderDetailSparepart_ReportView")
                             .Include("SaleOrderMng_SaleOrderExtend_ReportView")
                             .FirstOrDefault(o => o.SaleOrderID == saleOrderID);
                    var dtoPrintout = converter.DB2DTO_Printout(dbItem);



                    //CREATE PRINTOUT
                    if (reportName == null)
                    {
                        reportName = dtoPrintout.ReportName;
                    }

                    //int? companyID = fwBll.GetCompanyID(ControllerContext.GetAuthUserId());
                    //switch (companyID)
                    //{
                    //    case 13:
                    //        reportName = reportName + "_OrangePine.rdlc";
                    //        break;
                    //    default:
                    //        reportName = reportName + ".rdlc";
                    //        break;
                    //}
                    reportName = reportName + ".rdlc";
                    Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                    lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoice.Name  = "Order";
                    rsInvoice.Value = dtoPrintout.PIPrintouts;
                    lr.DataSources.Add(rsInvoice);

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoiceDetail.Name  = "OrderDetail";
                    rsInvoiceDetail.Value = dtoPrintout.PIDetailPrintouts;
                    lr.DataSources.Add(rsInvoiceDetail);

                    string printoutFileName = TilsoftService.Helper.PrintoutHelper.BuildPrintoutFile(lr, "PDF");

                    //
                    // author: TheMy
                    // description: add disclaimer (using iTextSharp)
                    //
                    string   finalFile = System.Guid.NewGuid().ToString().Replace("-", "") + ".pdf";
                    FileInfo fInfo     = new FileInfo(FrameworkSetting.Setting.AbsoluteReportFolder + reportName);
                    if (File.Exists(FrameworkSetting.Setting.AbsoluteReportFolder + fInfo.Name.Replace(fInfo.Extension, "") + "_bottom.pdf"))
                    {
                        try
                        {
                            Document document = new Document();
                            PdfCopy  writer   = new PdfCopy(document, new FileStream(FrameworkSetting.Setting.AbsoluteReportTmpFolder + finalFile, FileMode.Create));
                            if (writer == null)
                            {
                                throw new Exception("Can not create Pdf object");
                            }
                            document.Open();
                            writer.AddDocument(new PdfReader(FrameworkSetting.Setting.AbsoluteReportTmpFolder + printoutFileName));
                            writer.AddDocument(new PdfReader(FrameworkSetting.Setting.AbsoluteReportFolder + fInfo.Name.Replace(fInfo.Extension, "") + "_bottom.pdf"));
                            writer.Close();
                            document.Close();
                        }
                        catch (Exception ex)
                        {
                            //Library.DTO.notification.Type = Library.DTO.NotificationType.Error;
                            //notification.Message = "Adding general condition failed: " + ex.Message;
                            finalFile = printoutFileName;
                        }
                    }
                    else
                    {
                        finalFile = printoutFileName;
                    }

                    return(finalFile);
                }
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
                if (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message))
                {
                    notification.DetailMessage.Add(ex.InnerException.Message);
                }
                return("");
            }
        }
        public IHttpActionResult PrintPI(int id, string reportName)
        {
            Library.DTO.Notification notification;

            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }

            //GET DATA
            BLL.SaleOrderMng bll = new BLL.SaleOrderMng();
            DTO.SaleOrderMng.PIContainerPrintout dtoPrintout = bll.GetPrintoutData(id, ControllerContext.GetAuthUserId(), out notification);

            //CREATE PRINTOUT
            if (reportName == null)
            {
                reportName = dtoPrintout.ReportName;
            }

            //int? companyID = fwBll.GetCompanyID(ControllerContext.GetAuthUserId());
            //switch (companyID)
            //{
            //    case 13:
            //        reportName = reportName + "_OrangePine.rdlc";
            //        break;
            //    default:
            //        reportName = reportName + ".rdlc";
            //        break;
            //}
            reportName = reportName + ".rdlc";
            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

            Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
            rsInvoice.Name  = "Order";
            rsInvoice.Value = dtoPrintout.PIPrintouts;
            lr.DataSources.Add(rsInvoice);

            Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
            rsInvoiceDetail.Name  = "OrderDetail";
            rsInvoiceDetail.Value = dtoPrintout.PIDetailPrintouts;
            lr.DataSources.Add(rsInvoiceDetail);

            string printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF");

            //
            // author: TheMy
            // description: add disclaimer (using iTextSharp)
            //
            string   finalFile = System.Guid.NewGuid().ToString().Replace("-", "") + ".pdf";
            FileInfo fInfo     = new FileInfo(FrameworkSetting.Setting.AbsoluteReportFolder + reportName);

            if (File.Exists(FrameworkSetting.Setting.AbsoluteReportFolder + fInfo.Name.Replace(fInfo.Extension, "") + "_bottom.pdf"))
            {
                try
                {
                    Document document = new Document();
                    PdfCopy  writer   = new PdfCopy(document, new FileStream(FrameworkSetting.Setting.AbsoluteReportTmpFolder + finalFile, FileMode.Create));
                    if (writer == null)
                    {
                        throw new Exception("Can not create Pdf object");
                    }
                    document.Open();
                    writer.AddDocument(new PdfReader(FrameworkSetting.Setting.AbsoluteReportTmpFolder + printoutFileName));
                    writer.AddDocument(new PdfReader(FrameworkSetting.Setting.AbsoluteReportFolder + fInfo.Name.Replace(fInfo.Extension, "") + "_bottom.pdf"));
                    writer.Close();
                    document.Close();
                }
                catch (Exception ex)
                {
                    notification.Type    = Library.DTO.NotificationType.Error;
                    notification.Message = "Adding general condition failed: " + ex.Message;
                    finalFile            = printoutFileName;
                }
            }
            else
            {
                finalFile = printoutFileName;
            }
            //
            //
            //

            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = finalFile, Message = notification
            }));
        }
示例#19
0
        /// <summary>
        /// Prepara o relatório que será exportado.
        /// </summary>
        /// <param name="localReport">Instancia do relatório.</param>
        /// <param name="culture">Cultura que será usada.</param>
        /// <returns></returns>
        protected virtual void PrepareLocalReport(Microsoft.Reporting.WebForms.LocalReport localReport, System.Globalization.CultureInfo culture)
        {
            if (Document == null)
            {
                throw new InvalidOperationException("Document is null");
            }
            localReport.SubreportProcessing += LocalReportSubreportProcessing;
            LoadDefinition(localReport);
            if (Document is ISubreportDefinitionContainer)
            {
                foreach (ISubreportDefinition subreport in (ISubreportDefinitionContainer)Document)
                {
                    LoadSubreportDefinition(localReport, subreport);
                }
            }
            foreach (var dataSource in Document.DataSources)
            {
                localReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(dataSource.Name, dataSource.Value));
            }
            var reportParameters = new List <Microsoft.Reporting.WebForms.ReportParameter>();

            foreach (var parameter in Document.Parameters.Values)
            {
                if (_compatiblesParameters.Count > 0 && !_compatiblesParameters.Contains(parameter.Name))
                {
                    continue;
                }
                if (parameter.Values != null)
                {
                    var values = new string[parameter.Values.Length];
                    for (var i = 0; i < parameter.Values.Length; i++)
                    {
                        if (parameter.Values[i] != null)
                        {
                            if (!(parameter.Values[i] is string))
                            {
                                var converter = System.ComponentModel.TypeDescriptor.GetConverter(parameter.Values[i]);
                                if (culture != null)
                                {
                                    values[i] = converter.ConvertToString(null, culture, parameter.Values[i]);
                                }
                                else
                                {
                                    values[i] = converter.ConvertToString(parameter.Values[i]);
                                }
                            }
                            else
                            {
                                values[i] = parameter.Values[i] as string;
                            }
                        }
                    }
                    reportParameters.Add(new Microsoft.Reporting.WebForms.ReportParameter(parameter.Name, values));
                }
                else
                {
                    reportParameters.Add(new Microsoft.Reporting.WebForms.ReportParameter(parameter.Name, (string)null));
                }
            }
            localReport.SetParameters(reportParameters);
            if (Document.Title != null)
            {
                localReport.DisplayName = Document.Title.FormatOrNull() ?? "";
            }
        }
示例#20
0
 /// <summary>
 /// Carrega as definição do subrelatório.
 /// </summary>
 /// <param name="localReport"></param>
 /// <param name="subreport"></param>
 protected virtual void LoadSubreportDefinition(Microsoft.Reporting.WebForms.LocalReport localReport, ISubreportDefinition subreport)
 {
     localReport.LoadSubreportDefinition(subreport.Name, subreport.GetDefinition());
 }
示例#21
0
        public static byte[] RenderReport(DataSet data, string name, string type)
        {
            Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
            rds.Name = name + "_Table";
            rds.Value = data.Tables[0];

            string virtualRdlc = BuildRDLC(data, name);
            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
            lr.ReportPath = HttpContext.Current.Server.MapPath(virtualRdlc);
            lr.DataSources.Add(rds);

            return RenderReport(lr, name, type);
        }
示例#22
0
        protected void BindLocalReport(MsLocalReport localReport, IReport report)
        {
            ILocalReportProcessingLocation location = (ILocalReportProcessingLocation)report.ReportProcessingLocation;

            localReport.LoadReportDefinition(ReportDefinitionCache.GetReportDefinition(location.File).GetReportStream());

            localReport.EnableHyperlinks = true;

            localReport.EnableExternalImages = true;

            localReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));

            if (localReport.IsDrillthroughReport)
            {
                localReport.SetParameters(localReport.OriginalParametersToDrillthrough);
            }
            else
            {
                IList <MsReportParameter> parameters = new List <MsReportParameter>();

                foreach (IReportParameter parameter in report.ReportParameters)
                {
                    parameters.Add(new MsReportParameter(parameter.Name, GetParameterValue(parameter)));
                }

                localReport.SetParameters(parameters);
            }

            localReport.DataSources.Clear();


            foreach (IReportDataCommandTemplate reportDataCommandTemplate in report.ReportDataCommandTemplates)
            {
                DictionaryDataParameterValue parameterValues = new DictionaryDataParameterValue();

                foreach (var dataParameterTemplate in reportDataCommandTemplate.Parameters)
                {
                    var parameter = (IReportParameter)dataParameterTemplate;
                    if (localReport.IsDrillthroughReport)
                    {
                        parameterValues[parameter.Name] =
                            GetParameterValue(parameter, localReport.OriginalParametersToDrillthrough);
                    }
                    else
                    {
                        parameterValues[parameter.Name] = GetParameterValue(parameter);
                    }
                }

                var dataCommandTemplate = reportDataCommandTemplate as ReportDataCommandTemplate;
                if (dataCommandTemplate != null)
                {
                    using (IDataConnection connection = SimpleQuery.ConfigurationManagerConnection(dataCommandTemplate.DataSourceName))
                    {
                        if (connection.State == ConnectionState.Closed)
                        {
                            connection.Open();
                        }
                        DataTable table  = null;
                        Boolean   isOlap = ChangeOlapParameter(dataCommandTemplate.DataSourceName,
                                                               parameterValues);

                        if (reportDataCommandTemplate.Name.Equals("DealerGroupID"))
                        {
                            continue;
                        }

                        if (isOlap)
                        {
                            table = ReportAnalyticsClient.GetReportData <DataTable>(GetParameterList(parameterValues));
                        }
                        if (table == null)
                        {
                            using (IDataCommand command = connection.CreateCommand(reportDataCommandTemplate, parameterValues.DataParameterValue))
                            {
                                command.CommandTimeout = 200;
                                using (IDataReader reader = command.ExecuteReader())
                                {
                                    table = (isOlap.Equals(true) ? DataTableMapper.ToOlapDataTable(reader, reportDataCommandTemplate.DataMap, new DataTableCallback()) :
                                             DataTableMapper.ToDataTable(reader, reportDataCommandTemplate.DataMap, new DataTableCallback()));
                                }
                            }
                        }

                        localReport.DataSources.Add(new MsReportDataSource(reportDataCommandTemplate.Name, table));
                    }
                }
            }

            localReport.Refresh();
        }
示例#23
0
        public IHttpActionResult PrintInvoice(int id, string formatFile, string reportName, int invoiceType)
        {
            BLL.ECommercialInvoiceMng bll = new BLL.ECommercialInvoiceMng();
            Library.DTO.Notification  notification;
            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }
            //CREATE PRINTOUT
            string printoutFileName = string.Empty;
            int?   companyID        = fwBll.GetCompanyID(ControllerContext.GetAuthUserId());

            /*
             * get report file base on format of report
             * Excel format is special, we will use one function to get report base on excel
             * Another format we will use microsoft report tool to create report
             */
            if (formatFile == "Excel")
            {
                //switch (companyID)
                //{
                //    case 13:
                //        printoutFileName = bll.GetOrangePiePrintout(id, out notification);
                //        break;
                //    default:

                //        break;
                //}

                printoutFileName = bll.GetInvoicePrintoutInExcel(id, reportName, invoiceType, out notification);
            }
            else
            {
                DTO.ECommercialInvoiceMng.InvoiceContainerPrintout dtoPrintout = bll.GetInvoicePrintoutData(id, ControllerContext.GetAuthUserId(), out notification);
                if (dtoPrintout != null && dtoPrintout.Invoices != null && dtoPrintout.InvoiceDetails != null)
                {
                    reportName = reportName + ".rdlc";
                    //switch (companyID)
                    //{
                    //    case 13:
                    //        reportName = reportName + "_OrangePine.rdlc";
                    //        break;
                    //    default:
                    //        reportName = reportName + ".rdlc";
                    //        break;
                    //}
                    Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                    lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoice.Name  = "Invoice";
                    rsInvoice.Value = dtoPrintout.Invoices;
                    lr.DataSources.Add(rsInvoice);

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoiceDetail.Name  = "InvoiceDetail";
                    rsInvoiceDetail.Value = dtoPrintout.InvoiceDetails;
                    lr.DataSources.Add(rsInvoiceDetail);
                    printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, formatFile);
                }
            }
            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = printoutFileName, Message = notification
            }));
        }
示例#24
0
        public IHttpActionResult PrintPackingList(int id, string formatType, string reportName)
        {
            Library.DTO.Notification notification = new Library.DTO.Notification();

            // authentication
            Module.Framework.BLL fwBll = new Module.Framework.BLL();
            if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint))
            {
                return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED)));
            }
            BLL.ECommercialInvoiceMng bll = new BLL.ECommercialInvoiceMng();
            string printoutFileName       = string.Empty;

            if (reportName == "PackingListPrint")
            {
                if (formatType == "PDF")
                {
                    DTO.ECommercialInvoiceMng.PackingListContainerPrintout dtoPrintout = bll.GetPackingListPrintoutData(id, ControllerContext.GetAuthUserId(), out notification);

                    reportName = reportName + ".rdlc";
                    Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                    lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoice.Name  = "PackingList";
                    rsInvoice.Value = dtoPrintout.PackingListPrintouts;
                    lr.DataSources.Add(rsInvoice);

                    Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                    rsInvoiceDetail.Name  = "PackingListDetail";
                    rsInvoiceDetail.Value = dtoPrintout.PackingListDetailPrintouts;
                    lr.DataSources.Add(rsInvoiceDetail);

                    printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF");
                }
                else
                {
                    printoutFileName = bll.GetPEUackingListPrintoutData(id, reportName, out notification);
                }
            }
            else
            {
                if (reportName == "PackingListPrint_PerCont")
                {
                    if (formatType == "PDF")
                    {
                        List <DTO.ECommercialInvoiceMng.PackingListContainerPrintout> listDtoPrintout = bll.GetPackingListPrintoutData_PerCont(id, ControllerContext.GetAuthUserId(), out notification);
                        foreach (var dtoPrintout in listDtoPrintout)
                        {
                            //DTO.ECommercialInvoiceMng.PackingListContainerPrintout dtoPrintout = bll.GetPackingListPrintoutData(id, ControllerContext.GetAuthUserId(), out notification);

                            reportName = reportName + ".rdlc";
                            Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport();
                            lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + reportName;

                            Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource();
                            rsInvoice.Name  = "PackingList";
                            rsInvoice.Value = dtoPrintout.PackingListPrintouts;
                            lr.DataSources.Add(rsInvoice);

                            Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource();
                            rsInvoiceDetail.Name  = "PackingListDetail";
                            rsInvoiceDetail.Value = dtoPrintout.PackingListDetailPrintouts;
                            lr.DataSources.Add(rsInvoiceDetail);

                            if (printoutFileName != string.Empty)
                            {
                                printoutFileName = printoutFileName + "," + PrintoutHelper.BuildPrintoutFile(lr, "PDF");
                            }
                            else
                            {
                                printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF");
                            }
                            reportName = "PackingListPrint_PerCont";
                        }
                    }
                    else
                    {
                        printoutFileName = bll.GetEUPackingListPrintoutData_PerCont(id, reportName, out notification);
                    }
                }
                else
                {
                    printoutFileName = bll.GetOrangePiePrintout(id, out notification);
                }
            }

            return(Ok(new Library.DTO.ReturnData <string>()
            {
                Data = printoutFileName, Message = notification
            }));
        }
        public HttpResponseMessage Get()
        {
            var dataSet = new Models.DataSetFuncionario();

            dataSet.Funcionario.AddFuncionarioRow("André", "Lima", DateTime.Now);

            var report = new Microsoft.Reporting.WebForms.LocalReport();

            report.ReportPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Reports/Contratos/relConfirmacaoPreco.rdlc");
            report.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSetFuncionario", (System.Data.DataTable)dataSet.Funcionario));
            report.Refresh();

            string mimeType          = "";
            string encoding          = "";
            string filenameExtension = "";

            string[] streams = null;
            Microsoft.Reporting.WebForms.Warning[] warnings = null;
            byte[] bytes = report.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streams, out warnings);

            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);

            result.Content = new ByteArrayContent(bytes);
            result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(mimeType);
            return(result);
        }