void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
        {
            LocalReport localReport = new LocalReport();

            DataRow     dr;
            InventoryDs ds            = new InventoryDs();
            var         companyDetail = NewCompanyDetailBs.GetCompanyDetail();

            dr = ds.Tables["CompanyDetiailDT"].Rows.Add();
            dr["CompanyCode"]    = companyDetail.CompanyCode;
            dr["CompanyName"]    = companyDetail.CompanyName;
            dr["CompanyAddress"] = companyDetail.CompanyAddress;
            dr["CompanyPhone1"]  = companyDetail.CompanyPhone1;
            dr["CompanyPhone2"]  = companyDetail.CompanyPhone2;
            dr["CompanyEmail"]   = companyDetail.CompanyEmail;

            //reportDtSource.Name = "CompDetDataSet";
            //reportDtSource.Value = ds.Tables["CompanyDetiailDT"];
            e.DataSources.Add(new ReportDataSource()
            {
                Name  = "CompDetDataSet",
                Value = ds.Tables["CompanyDetiailDT"]
            });
        }
        public FileResult ExportSalesReport(string ReportType = "Pdf")
        {
            LocalReport localReport = new LocalReport();

            localReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
            //localReport.ReportPath = Server.MapPath("~/Reports/SalesReport.rdlc");
            localReport.ReportPath = Server.MapPath("~/Reports/SalesReport.rdlc");
            ReportDataSource reportDtSource = new ReportDataSource();
            DataRow          dr;
            InventoryDs      ds = new InventoryDs();

            foreach (var sale in NewReportBs.SalesReport(Convert.ToDateTime(Session["StartDate"]), Convert.ToDateTime(Session["EndDate"])))
            {
                dr = ds.Tables["SalesReportDT"].Rows.Add();
                dr["SalesAmount"] = sale.SalesAmount;
                dr["PaymentDate"] = sale.KeyDate;
                dr["PaymentNo"]   = sale.PaymentNo;
                dr["StartDate"]   = Session["StartDate"];
                dr["EndDate"]     = Session["EndDate"];
            }
            reportDtSource.Name  = "SalesReportDataSet";
            reportDtSource.Value = ds.Tables["SalesReportDT"];
            localReport.DataSources.Add(reportDtSource);
            string reportType = ReportType;
            string mimeType;
            string encoding;
            string fileNameExtension = (ReportType == "Excel") ? "xlsx" : "pdf";

            Warning[] warnings;
            string[]  streams;
            byte[]    renderedBytes;
            renderedBytes = localReport.Render(reportType, "", out mimeType, out encoding, out fileNameExtension,
                                               out streams, out warnings);
            Response.AddHeader("content-disposition", "attachment; filename=SalesReport " + DateTime.Now + "." + fileNameExtension);
            return(File(renderedBytes, fileNameExtension));
        }