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"));
        }