//http://localhost/ReportPublishDynamic/DDWebReportView.aspx?ReportName=90&uid=573aa0c3-528a-40a9-890e-701e097a1fb5&PdmRequestRegisterID=134&ReportDataSourceType=PLMDatabase
        //Search Print
        //http://localhost/ReportPublishCrystal/ReportPdfPrint.aspx?ReportName=90&uid=66e7fed1-1dfc-4003-89ad-f0831a0b4138&PdmRequestRegisterID=133&ReportDataSourceType=PLMDatabase

        private static List <Stream> PrintSearchViewPdf(int?aUId, string reportId, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId)
        {
            List <Stream> pdfFileStream = new List <Stream>();


            string reportFileName = DDSetup.GetUserReportFileName(aUId.Value, reportId);



            // Cyrstal report
            if (reportFileName.EndsWith(".rpt") || reportFileName.EndsWith(".RPT"))
            {
                Stream result = CystalReportExport.GetCrystalPdfStream(reportFileName, aUId, null, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);
                if (result != null)
                {
                    pdfFileStream.Add(result);
                }
            }
            // Data Dynamics
            else if (reportFileName.EndsWith(".rdlx") || reportFileName.EndsWith(".RDLX"))
            {
                Stream result = DataDynamicsExport.GetDataDynamicPdfStream(reportFileName, aUId, null, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);

                if (result != null)
                {
                    pdfFileStream.Add(result);
                }
            }


            return(pdfFileStream);
        }
Example #2
0
        void Application_Start(object sender, EventArgs e)
        {
            string PLMConnectionString          = System.Configuration.ConfigurationManager.ConnectionStrings["PLMConnectionString"].ConnectionString;
            string DWDataSourceConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DWDataSourceConnectionString"].ConnectionString;

            DDSetup.InitAppSetup(PLMConnectionString, DWDataSourceConnectionString);
        }
        private static void SetupReportParamter(ReportRuntime runtime, string aUId, string productReferenceId, string PdmRequestRegisterID)
        {
            DDSetup.SetupDDReportRuntimeParameter(runtime, aUId);

            if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
            {
                runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = productReferenceId;
            }

            if (runtime.Parameters[DDSetup.ReportParameterApplicationServerUrl] != null)
            {
                runtime.Parameters[DDSetup.ReportParameterApplicationServerUrl].CurrentValue = DDSetup.ReorptSetup.PLMApplictionURL;
            }



            if (!string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                // need format like this '1,2,3,4,6'
                string requestContent = DDSetup.GetPdmRequestContent(PdmRequestRegisterID);

                if (runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs] != null)
                {
                    runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = requestContent;
                    // runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].Hidden
                }
                else// try to set ReportParameterProductReferenceID
                {
                    runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = requestContent;
                }
            }
        }
        private static List <Stream> PrintTechPackPdf(int?aUId, string mutipleReportFiles, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId)
        {
            string[] reportnames = mutipleReportFiles.Split('|');

            //  var dictReportNameAndFileName = DDSetup.GetDictUserReportNameAndFileNameReports(aUId.Value);

            List <KeyValuePair <string, string> > mutipleReportAndReference = new List <KeyValuePair <string, string> >();

            List <Stream> pdfFileStream = new List <Stream>();

            foreach (String reportFileNameWithRef in reportnames)
            {
                string[] reportNameAndRef = reportFileNameWithRef.Split('^');
                if (reportNameAndRef.Length != 2)
                {
                    continue;
                }



                string reportId = reportNameAndRef[0];


                string reportFileName = DDSetup.GetUserReportFileName(aUId.Value, reportId);

                if (string.IsNullOrEmpty(reportFileName))
                {
                    // Response.Write(" access denied ");
                    continue;
                }



                string reportRefId = reportNameAndRef[1];


                // Cyrstal report
                if (reportFileName.EndsWith(".rpt") || reportFileName.EndsWith(".RPT"))
                {
                    Stream result = CystalReportExport.GetCrystalPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);
                    if (result != null)
                    {
                        pdfFileStream.Add(result);
                    }
                }
                // Data Dynamics
                else if (reportFileName.EndsWith(".rdlx") || reportFileName.EndsWith(".RDLX"))
                {
                    Stream result = DataDynamicsExport.GetDataDynamicPdfStream(reportFileName, aUId, reportRefId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);

                    if (result != null)
                    {
                        pdfFileStream.Add(result);
                    }
                }
            }

            return(pdfFileStream);
        }
Example #5
0
        protected override void OnPreInit(EventArgs e)
        {
            string reportName = Request.QueryString[DDSetup.QueryReportName];
            string aUId       = Request.QueryString[DDSetup.ReportParameterUid];

            _UId = aUId;

            if (!string.IsNullOrEmpty(reportName) && !string.IsNullOrEmpty(aUId))
            {
                _ReportFileNmae = reportName;
            }

            _ProductReferenceId = Request.QueryString[DDSetup.ReportParameterProductReferenceID];
            _DatasourceType     = Request.QueryString[DDSetup.QueryReportDataSourceType];

            //Request.QueryString[DDSetup.ReportParameterMainReferenceID];
            _MainReferenceID = Request.QueryString[DDSetup.ReportParameterMainReferenceID];

            //Request.QueryString[DDSetup.ReportParameterMasterReferenceID];
            _MasterReferenceID = Request.QueryString[DDSetup.ReportParameterMasterReferenceID];


            //DDSetup.ReportParameterMutipleProductReferenceIDs

            string PdmRequestRegisterID = Request.QueryString[DDSetup.PdmRequestRegisterID];

            if (!string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                // need format like this '1,2,3,4,6'

                string requestContent = DDSetup.GetPdmRequestContent(PdmRequestRegisterID);
                if (requestContent.IndexOf('\'') == -1)
                {
                    requestContent = "'" + requestContent + "'";
                }

                _MutipleProductReferenceIDs = requestContent;

                //if (runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs] != null)
                //{
                //    runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = requestContent;
                //    // runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].Hidden

                //}
            }



            base.OnPreInit(e);
            if (!this.IsPostBack)
            {
                if (_ReportFileNmae != string.Empty)
                {
                    // only create once !!
                    BindReport();
                }
            }
        }
        private static void SetupReportParamter(ReportRuntime runtime, int?aUId, string productReferenceId, string PdmRequestRegisterID, string mainReferenceID, string masterReferenceID)
        {
            DDSetup.SetupDDReportRuntimeParameter(runtime, aUId);

            if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
            {
                runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = productReferenceId;
            }

            // new add string mainReferenceID, string masterReferenceID 2014-02-17
            if (runtime.Parameters[DDSetup.QueryReportParameterMainReferenceID] != null)
            {
                runtime.Parameters[DDSetup.QueryReportParameterMainReferenceID].CurrentValue = mainReferenceID;
            }

            if (runtime.Parameters[DDSetup.QueryReportParameterMasterReferenceID] != null)
            {
                runtime.Parameters[DDSetup.QueryReportParameterMasterReferenceID].CurrentValue = masterReferenceID;
            }



            if (runtime.Parameters[DDSetup.ReportParameterImageUrl] != null)
            {
                runtime.Parameters[DDSetup.ReportParameterImageUrl].CurrentValue = DDSetup.ReorptSetup.ReportingServerImageUrl;
            }



            if (!string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                // need format like this '1,2,3,4,6'
                //string requestContent = DDSetup.GetPdmRequestContent(PdmRequestRegisterID);



                //if (runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs] != null)
                //{
                //    runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = requestContent;
                //    // runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].Hidden
                //}
                //else// try to set ReportParameterProductReferenceID
                //{

                //    runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = requestContent;

                //}


                DDSetup.SetupDynamicReportRequesttRegisterId(runtime, PdmRequestRegisterID);
            }
        }
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);
            string allReportFileNmaes = Request.QueryString[DDSetup.QueryReportName];
            string sessionUid         = Request.QueryString[DDSetup.ReportParameterUid];


            int?userid = DDSetup.GetUserIdFromSessionId(sessionUid);

            ApplicationLog.WriteError("IsReportCompressionActivate:" + DDSetup.ReorptSetup.IsReportCompressionActivate);

            if (!userid.HasValue)
            {
                Response.Write(" access denied ");
                return;
            }



            string PdmRequestRegisterID = Request.QueryString[DDSetup.QueryPdmRequestRegisterID];

            if (string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                PdmRequestRegisterID = string.Empty;
            }


            string dataSourceType = Request.QueryString[DDSetup.QueryReportDataSourceType];

            string mainreferenceID   = Request.QueryString[DDSetup.QueryReportParameterMainReferenceID];
            string masterReferenceId = Request.QueryString[DDSetup.QueryReportParameterMasterReferenceID];


            string reportBatchNumber = Request.QueryString[DDSetup.QueryReportBatchNumber];

            if (string.IsNullOrEmpty(reportBatchNumber))
            {
                reportBatchNumber = string.Empty;
            }



            if (!this.IsPostBack)
            {
                PrintUserReaTimeReport(userid, allReportFileNmaes, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId, reportBatchNumber);
            }
        }
        private static void ExportToExcelFile(string rdlxFileName, string exportFieName, string uid)
        {
            ExcelTransformationDevice device   = new ExcelTransformationDevice();
            ExcelTemplateGenerator    template = new ExcelTemplateGenerator();
            MemoryStream templateStream        = new MemoryStream();

            //  rdlxFileName = DDSetup.ReorptSetup.ReportRootPath + @"\" + rdlxFileName;
            ReportDefinition def = new ReportDefinition(new FileInfo(rdlxFileName));

            template.GenerateTemplate(def, templateStream);
            templateStream.Position = 0;
            device.TemplateStream   = templateStream;
            ReportRuntime runtime = new ReportRuntime(def);

            DDSetup.SetupDDReportRuntimeParameter(runtime, uid);

            runtime.Render(device, new FileStreamProvider(new DirectoryInfo(@".\OutPutExcel"), exportFieName));
        }
        protected override void OnPreInit(EventArgs e)
        {
            string reportName = Request.QueryString[DDSetup.QueryReportName];
            string sessionUid = Request.QueryString[DDSetup.ReportParameterUid];

            int?userid = DDSetup.GetUserIdFromSessionId(sessionUid);

            if (!userid.HasValue)
            {
                Response.Write(" access denied ");
                return;
            }
            else
            {
                _ReportFileNmae = DDSetup.GetUserReportFileName(userid.Value, reportName);

                if (string.IsNullOrEmpty(_ReportFileNmae))
                {
                    Response.Write(" access denied ");
                    return;
                }
            }


            _UId = userid;

            _ProductReferenceId = Request.QueryString[DDSetup.ReportParameterProductReferenceID];
            _DatasourceType     = Request.QueryString[DDSetup.QueryReportDataSourceType];

            //Request.QueryString[DDSetup.ReportParameterMainReferenceID];
            _MainReferenceID = Request.QueryString[DDSetup.QueryReportParameterMainReferenceID];

            //Request.QueryString[DDSetup.ReportParameterMasterReferenceID];
            _MasterReferenceID = Request.QueryString[DDSetup.QueryReportParameterMasterReferenceID];


            //DDSetup.ReportParameterMutipleProductReferenceIDs

            string PdmRequestRegisterID = Request.QueryString[DDSetup.QueryPdmRequestRegisterID];

            if (!string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                // need format like this '1,2,3,4,6'



                CystalReportExport.SetupCrystalReportRequestRegisterId(CurrnetReportDocument, PdmRequestRegisterID);
            }



            base.OnPreInit(e);
            if (!this.IsPostBack)
            {
                if (_ReportFileNmae != string.Empty)
                {
                    // only create once !!
                    BindReport();
                }
            }
        }
        public void ConfigureCrystalReportParameters(ReportDocument customerReport)
        {
            if (_UId.HasValue)
            {
                SetupReportParameter(customerReport, DDSetup.ReportParameterUid, this._UId.Value);

                string userName;
                int?   v2kuid;
                string timeZoneInfoToken = string.Empty;

                EmDomainType aDomainType = DDSetup.GetDomainTypeAndV2kUID(_UId, out v2kuid, out userName, out timeZoneInfoToken);



                if (!string.IsNullOrEmpty(userName))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterCurrentUserName))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                    else                    // try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterCurrentUserName, userName);
                    }
                }



                if (v2kuid.HasValue)
                {
                    if (aDomainType == EmDomainType.Vendor)
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterVendorID, v2kuid.Value);
                    }
                    else if (aDomainType == EmDomainType.Customer)
                    {
                    }
                }

                if (!string.IsNullOrEmpty(timeZoneInfoToken))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterClientTimeZonekey))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterClientTimeZonekey, timeZoneInfoToken);
                    }
                }


                if (!string.IsNullOrEmpty(this._ProductReferenceId))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterProductReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterProductReferenceID, _ProductReferenceId);
                    }
                    else// try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs, _ProductReferenceId);
                    }
                }

                // new add 2014-02-17 report paramters


                if (!string.IsNullOrEmpty(this._MainReferenceID))
                {
                    if (IsExistParaName(customerReport, DDSetup.QueryReportParameterMainReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.QueryReportParameterMainReferenceID, _MainReferenceID);
                    }
                }

                if (!string.IsNullOrEmpty(this._MasterReferenceID))
                {
                    if (IsExistParaName(customerReport, DDSetup.QueryReportParameterMasterReferenceID))
                    {
                        SetupReportParameter(customerReport, DDSetup.QueryReportParameterMasterReferenceID, _MasterReferenceID);
                    }
                }



                if (!string.IsNullOrEmpty(this._MutipleProductReferenceIDs))
                {
                    if (IsExistParaName(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs))
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterMutipleProductReferenceIDs, _MutipleProductReferenceIDs);
                    }
                    else// try to setup _MutipleProductReferenceIDs
                    {
                        SetupReportParameter(customerReport, DDSetup.ReportParameterProductReferenceID, _MutipleProductReferenceIDs);
                    }
                }

                // need to set up ReportParameterApplicationServerUrl for report iamge url
                if (IsExistParaName(customerReport, DDSetup.ReportParameterImageUrl))
                {
                    SetupReportParameter(customerReport, DDSetup.ReportParameterImageUrl, DDSetup.ReorptSetup.ReportingServerImageUrl);
                }



                // if(  this._ProductReferenceId
            }
        }
        protected override void OnInit(EventArgs e)
        {
            string reportName = Request.QueryString[DDSetup.QueryReportName];
            string aUId       = Request.QueryString[DDSetup.ReportParameterUid];

            _DatasourceType = Request.QueryString[DDSetup.QueryReportDataSourceType];


            if (string.IsNullOrEmpty(reportName) || string.IsNullOrEmpty(aUId))
            {
                Response.Write(" Can not find the report");
                return;
            }

            if (reportName.EndsWith(".rdlx") || reportName.EndsWith(".RDLX"))
            {
                // RequestID
                //PdmRequestRegisterID
                string reportFileNmae = DDSetup.ReorptSetup.ReportRootPath + @"\" + Request.QueryString[DDSetup.QueryReportName];

                //

                FileInfo         reportFile = new FileInfo(reportFileNmae);
                ReportDefinition rdl        = new ReportDefinition(reportFile);

                DataDynamicsExport.ChangDataSourceInRentime(rdl, _DatasourceType);

                ReportRuntime runtime = new ReportRuntime(rdl);

                DDSetup.SetupDDReportRuntimeParameter(runtime, aUId);

                if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
                {
                    string productReferenceId = Request.QueryString[DDSetup.ReportParameterProductReferenceID];
                    if (!string.IsNullOrEmpty(productReferenceId))
                    {
                        if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
                        {
                            runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = int.Parse(productReferenceId);
                        }
                        else // try to setup ReportParameterMutipleProductReferenceIDs
                        {
                            runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = productReferenceId;
                        }
                    }
                }

                // new added MainReferenceID 2014-01-17
                if (runtime.Parameters[DDSetup.ReportParameterMainReferenceID] != null)
                {
                    string mainReferenceID = Request.QueryString[DDSetup.ReportParameterMainReferenceID];
                    if (!string.IsNullOrEmpty(mainReferenceID))
                    {
                        runtime.Parameters[DDSetup.ReportParameterMainReferenceID].CurrentValue = int.Parse(mainReferenceID);
                    }
                }

                // new added ReportParameter MasterReferenceID 2014-01-17
                if (runtime.Parameters[DDSetup.ReportParameterMasterReferenceID] != null)
                {
                    string masterReferenceID = Request.QueryString[DDSetup.ReportParameterMasterReferenceID];
                    if (!string.IsNullOrEmpty(masterReferenceID))
                    {
                        runtime.Parameters[DDSetup.ReportParameterMasterReferenceID].CurrentValue = int.Parse(masterReferenceID);
                    }
                }

                // new added reportparamter


                if (runtime.Parameters[DDSetup.ReportParameterImageUrl] != null)
                {
                    runtime.Parameters[DDSetup.ReportParameterImageUrl].CurrentValue = DDSetup.ReorptSetup.ReportingServerImageUrl;
                }

                string PdmRequestRegisterID = Request.QueryString[DDSetup.PdmRequestRegisterID];
                if (!string.IsNullOrEmpty(PdmRequestRegisterID))
                {
                    // need format like this '1,2,3,4,6'
                    string requestContent = DDSetup.GetPdmRequestContent(PdmRequestRegisterID);

                    if (runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs] != null)
                    {
                        runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = requestContent;
                        // runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].Hidden
                    }
                    else// try to set ReportParameterProductReferenceID
                    {
                        runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = requestContent;
                    }
                }


                this.WebReportViewer2.SetReport(runtime);
            }
            else if (reportName.EndsWith(".rpt") || reportName.EndsWith(".RPT"))
            {
                string cystalURL            = string.Empty;
                string lastCharOncrystalurl = DDSetup.ReorptSetup.CrystalReportPublishUrl.Substring(DDSetup.ReorptSetup.CrystalReportPublishUrl.Length - 1, 1);
                if (lastCharOncrystalurl == @"/")
                {
                    cystalURL = DDSetup.ReorptSetup.CrystalReportPublishUrl + "CrystalReportView.aspx?" + DDSetup.QueryReportName + "=" + reportName + "&" + DDSetup.ReportParameterUid + "=" + aUId;
                }
                else
                {
                    cystalURL = DDSetup.ReorptSetup.CrystalReportPublishUrl + "/CrystalReportView.aspx?" + DDSetup.QueryReportName + "=" + reportName + "&" + DDSetup.ReportParameterUid + "=" + aUId;
                }

                this.Response.Redirect(cystalURL, true);
            }
            else
            {
                Response.Write(" Can not find the report");
            }
        }
//	Teckpack Print
//http://localhost/ReportPublishCrystal/ReportPdfPrint.aspx?ReportName=2^4489&uid=66e7fed1-1dfc-4003-89ad-f0831a0b4138&MainReferenceID=4489&ReportDataSourceType=PLMDatabase



        private void PrintUserReaTimeReport(int?aUId, string mutipleReportFiles, string PdmRequestRegisterID, string dataSourceType, string mainreferenceID, string masterReferenceId, string reportBatchNumber)
        {
            //allReportFileNmae=ReportName=Crystal_OSC_GetTab1.rpt^21836|OSC_Proto Summary.rdlx^21863
            if (mutipleReportFiles != string.Empty)
            {
                // only create once !!

                List <Stream> pdfFileStream = new List <Stream>();


                // it is batch print
                if (!string.IsNullOrWhiteSpace(reportBatchNumber))
                {
                    List <string> requestRegistIds = DDSetup.GetPdmRequestRegisterIdsByBatchNimber(reportBatchNumber);

                    foreach (string requestRegisterID in requestRegistIds)
                    {
                        // only for single report !!
                        string singleReportId = mutipleReportFiles;

                        List <Stream> pdfFileStreamFromSearchView = PrintSearchViewPdf(aUId, singleReportId, requestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);

                        pdfFileStream.AddRange(pdfFileStreamFromSearchView);
                    }
                }
                else                 // it is NOT BATCH print, need to process singe request
                {
                    if (string.IsNullOrWhiteSpace(PdmRequestRegisterID))
                    {
                        List <Stream> pdfFileStreamTeckpacks = PrintTechPackPdf(aUId, mutipleReportFiles, string.Empty, dataSourceType, mainreferenceID, masterReferenceId);

                        pdfFileStream.AddRange(pdfFileStreamTeckpacks);
                    }
                    else                     // it is searchView print Calls  for each single request PdmRequestRegisterID
                    {
                        string singleReportId = mutipleReportFiles;

                        List <Stream> pdfFileStreamFromSearchView = PrintSearchViewPdf(aUId, singleReportId, PdmRequestRegisterID, dataSourceType, mainreferenceID, masterReferenceId);

                        pdfFileStream.AddRange(pdfFileStreamFromSearchView);
                    }
                }



                using (PdfDocument outputPdfDocument = new PdfDocument())
                {
                    try
                    {
                        foreach (Stream stream in pdfFileStream)
                        {
                            // Open the document to import pages from it.
                            if (stream.Length > 0)
                            {
                                using (PdfDocument inputDocument = PdfReader.Open(stream, PdfDocumentOpenMode.Import))
                                {
                                    // Iterate pages
                                    int count = inputDocument.PageCount;
                                    for (int idx = 0; idx < count; idx++)
                                    {
                                        // Get the page from the external document...
                                        PdfPage page = inputDocument.Pages[idx];
                                        // ...and add it to the output document.
                                        outputPdfDocument.AddPage(page);
                                    }
                                    stream.Close();
                                    stream.Dispose();
                                }
                            }
                        }

                        ApplicationLog.WriteError("IsReportCompressionActivate:" + DDSetup.ReorptSetup.IsReportCompressionActivate);

                        if (DDSetup.ReorptSetup.IsReportCompressionActivate)
                        {
                            string fileID         = Guid.NewGuid().ToString();
                            string FileNameOrigin = DDSetup.ReorptSetup.ReportPdfCompressPath + "Origin_" + fileID + ".pdf";
                            outputPdfDocument.Save(FileNameOrigin);

                            string FileNameDestination = DDSetup.ReorptSetup.ReportPdfCompressPath + "Dest_" + fileID + ".pdf";
                            ReportJobManagement.PdfCompression(FileNameOrigin, FileNameDestination);
                            File.Delete(FileNameOrigin);
                            OutputPdfFile(FileNameDestination);
                        }
                        else                         // need to compress PDF
                        {
                            MemoryStream memoStream = new MemoryStream();

                            outputPdfDocument.Save(memoStream, false);
                            OutPutResponse(memoStream);
                        }
                    }
                    catch (Exception ex)
                    {
                        Response.Write("Print pdf Failed" + ex.ToString());
                    }
                }

                // need to dispsoe output to release memeory
                //  outputPdfDocument.Dispose();
                // need to dispost
            }
        }
Example #13
0
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);

            //ReportName=Test Crystal Report^15210|Test Dynamic Report^15210
            string mutipleReportNamesWithReferenceIds = Request.QueryString[DDSetup.QueryReportName];
            string sessionUid = Request.QueryString[DDSetup.ReportParameterUid];

            string reportJobName = Request.QueryString[DDSetup.QueryReportJobName];



            int?userid = DDSetup.GetUserIdFromSessionId(sessionUid);

            if (!userid.HasValue)
            {
                Response.Write(" access denied ");
                return;
            }

            if (string.IsNullOrEmpty(mutipleReportNamesWithReferenceIds))
            {
                Response.Write(" no report file name ");
                return;
            }



            string productReferenceId   = Request.QueryString[DDSetup.ReportParameterProductReferenceID];
            string PdmRequestRegisterID = Request.QueryString[DDSetup.QueryPdmRequestRegisterID];
            string dataSourceType       = Request.QueryString[DDSetup.QueryReportDataSourceType];


            string mainReferenceID   = Request.QueryString[DDSetup.QueryReportParameterMainReferenceID];
            string masterReferenceID = Request.QueryString[DDSetup.QueryReportParameterMasterReferenceID];


            if (string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                PdmRequestRegisterID = string.Empty;
            }

            if (!this.IsPostBack)
            {
                if (string.IsNullOrEmpty(reportJobName))
                {
                    Response.Write(" Report Job name is missing !");
                    return;
                }
                else// need to create a new JOB
                {
                    // create a report job and add to the queue
                    ReportJobDesc aReportJobDesc = new ReportJobDesc();
                    aReportJobDesc.ReportJobName        = reportJobName;
                    aReportJobDesc.UId                  = userid;
                    aReportJobDesc.AllReportFileNmae    = mutipleReportNamesWithReferenceIds;
                    aReportJobDesc.ProductReferenceId   = productReferenceId;
                    aReportJobDesc.PdmRequestRegisterID = PdmRequestRegisterID;
                    aReportJobDesc.DataSourceType       = dataSourceType;
                    aReportJobDesc.MainReferenceID      = mainReferenceID;
                    aReportJobDesc.MasterReferenceID    = masterReferenceID;

                    ReportJobProcessor.ReportJobQueue.Enqueue(aReportJobDesc);


                    Response.Write(" the Print Job was added to print queue  !");
                }
            }
        }
Example #14
0
        protected override void OnInit(EventArgs e)
        {
            // test traceing
            // DDSetup.WriteReportTrace("test admin", " testtt");
            string reportName = Request.QueryString[DDSetup.QueryReportName];
            string sessionUid = Request.QueryString[DDSetup.ReportParameterUid];

            _DatasourceType = Request.QueryString[DDSetup.QueryReportDataSourceType];


            string reportFileName = string.Empty;

            int?userid = DDSetup.GetUserIdFromSessionId(sessionUid);


            if (!userid.HasValue)
            {
                Response.Write(" access denied ");
                return;
            }
            else
            {
                reportFileName = DDSetup.GetUserReportFileName(userid.Value, reportName);

                if (string.IsNullOrEmpty(reportFileName))
                {
                    Response.Write(" access denied ");
                    return;
                }
            }
            string reportFileNmae = DDSetup.ReorptSetup.ReportRootPath + @"\" + reportFileName;

            FileInfo         reportFile = new FileInfo(reportFileNmae);
            ReportDefinition rdl        = new ReportDefinition(reportFile);
            ReportRuntime    runtime    = new ReportRuntime(rdl);

            DataDynamicsExport.ChangDataSourceInRentime(rdl, _DatasourceType);



            DDSetup.SetupDDReportRuntimeParameter(runtime, userid);

            if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
            {
                string productReferenceId = Request.QueryString[DDSetup.ReportParameterProductReferenceID];
                if (!string.IsNullOrEmpty(productReferenceId))
                {
                    if (runtime.Parameters[DDSetup.ReportParameterProductReferenceID] != null)
                    {
                        runtime.Parameters[DDSetup.ReportParameterProductReferenceID].CurrentValue = int.Parse(productReferenceId);
                    }
                    else                     // try to setup ReportParameterMutipleProductReferenceIDs
                    {
                        runtime.Parameters[DDSetup.ReportParameterMutipleProductReferenceIDs].CurrentValue = productReferenceId;
                    }
                }
            }

            // new added MainReferenceID 2014-01-17
            if (runtime.Parameters[DDSetup.QueryReportParameterMainReferenceID] != null)
            {
                string mainReferenceID = Request.QueryString[DDSetup.QueryReportParameterMainReferenceID];
                if (!string.IsNullOrEmpty(mainReferenceID))
                {
                    runtime.Parameters[DDSetup.QueryReportParameterMainReferenceID].CurrentValue = int.Parse(mainReferenceID);
                }
            }

            // new added ReportParameter MasterReferenceID 2014-01-17
            if (runtime.Parameters[DDSetup.QueryReportParameterMasterReferenceID] != null)
            {
                string masterReferenceID = Request.QueryString[DDSetup.QueryReportParameterMasterReferenceID];
                if (!string.IsNullOrEmpty(masterReferenceID))
                {
                    runtime.Parameters[DDSetup.QueryReportParameterMasterReferenceID].CurrentValue = int.Parse(masterReferenceID);
                }
            }

            // new added reportparamter


            if (runtime.Parameters[DDSetup.ReportParameterImageUrl] != null)
            {
                runtime.Parameters[DDSetup.ReportParameterImageUrl].CurrentValue = DDSetup.ReorptSetup.ReportingServerImageUrl;
            }

            string PdmRequestRegisterID = Request.QueryString[DDSetup.QueryPdmRequestRegisterID];

            if (!string.IsNullOrEmpty(PdmRequestRegisterID))
            {
                // need format like this '1,2,3,4,6'
                DDSetup.SetupDynamicReportRequesttRegisterId(runtime, PdmRequestRegisterID);
            }


            this.WebReportViewer2.SetReport(runtime);
        }