public ActionResult ISR040_GetNewInstallationSaleSlipData(string strSlipNo) { IReportHandler reportHandler = ServiceContainer.GetService <IReportHandler>() as IReportHandler; List <RPTNewSaleSlipDo> rptList = reportHandler.GetRptNewSaleSlipReport(strSlipNo); IDocumentHandler dochandler = ServiceContainer.GetService <IDocumentHandler>() as IDocumentHandler; List <tbm_DocumentTemplate> dLst = dochandler.GetDocumentTemplateByDocumentCode(DocumentCode.C_DOCUMENT_CODE_NEW_INSTALL_SLIP_SALE); ReportDocument rptH = new ReportDocument(); //string path = ReportUtil.GetReportTemplatePath("Reports/ISR040_NewInstallationSaleSlip.rpt"); string path = ReportUtil.GetReportPath("Reports/ISR040_NewInstallationSaleSlip.rpt", Server.MapPath("/")); rptH.Load(path); List <RPTNewSaleSlipDo> lst = new List <RPTNewSaleSlipDo>(); if (rptList != null && rptList.Count > 0) { lst.Add(rptList[0]); if (dLst.Count > 0) { lst[0].DocumentNameEN = dLst[0].DocumentNameEN; lst[0].DocumentVersion = dLst[0].DocumentVersion; } } else { rptList.Add(new RPTNewSaleSlipDo()); } rptH.SetDataSource(lst); rptH.Subreports["Page1"].SetDataSource(rptList); rptH.Subreports["Page2"].SetDataSource(rptList); rptH.Subreports["Page3"].SetDataSource(rptList); Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); rptH.Close(); return(File(stream, "application/pdf")); }