public ActionResult Report(string id, string value) { string path = ""; LocalReport lr = new LocalReport(); if (value == "FormF") { path = Path.Combine(Server.MapPath("~/Reports/FormF.rdlc")); } if (value == "FormFNegative") { path = Path.Combine(Server.MapPath("~/Reports/FormFNegative.rdlc")); } if (value == "FormG") { path = Path.Combine(Server.MapPath("~/Reports/FormG.rdlc")); } if (System.IO.File.Exists(path)) { lr.ReportPath = path; } else { return(RedirectToAction("LogIn", "Account")); } if (value == "FormF" || value == "FormFNegative") { DataSet ds1 = new DataSet(); DataSet ds2 = new DataSet(); DataSet ds3 = new DataSet(); ds1 = objSSF.ReportFormF(Convert.ToString(Session["SocietyTransID"])); ds2 = objSSF.ReportFormF2(Convert.ToString(Session["SocietyTransID"])); ds3 = objSSF.ReportFormF3(Convert.ToString(Session["SocietyTransID"])); DataTable FormF = ds1.Tables[0]; DataTable FormF2 = ds2.Tables[0]; DataTable FormF3 = ds3.Tables[0]; ReportDataSource rd = new ReportDataSource("GetDetailsForFormF", FormF); ReportDataSource rd2 = new ReportDataSource("GetDetailsForFormC", FormF2); ReportDataSource rd3 = new ReportDataSource("GetInspectorInfoFormG", FormF3); lr.DataSources.Add(rd); lr.DataSources.Add(rd2); lr.DataSources.Add(rd3); } if (value == "FormG") { DataSet ds1 = new DataSet(); DataSet ds2 = new DataSet(); DataSet ds3 = new DataSet(); ds1 = objSSF.ReportFormG(Convert.ToString(Session["SocietyTransID"])); ds2 = objSSF.ReportFormG2(Convert.ToString(Session["SocietyTransID"])); ds3 = objSSF.ReportFormG3(Convert.ToString(Session["SocietyTransID"])); DataTable FormG = ds1.Tables[0]; DataTable FormG2 = ds2.Tables[0]; DataTable FormG3 = ds3.Tables[0]; ReportDataSource rd = new ReportDataSource("GetInspectorInfoFormG", FormG); ReportDataSource rd2 = new ReportDataSource("GetInspectorInfoFormG2", FormG2); ReportDataSource rd3 = new ReportDataSource("GetDetailsForFormF", FormG3); lr.DataSources.Add(rd); lr.DataSources.Add(rd2); lr.DataSources.Add(rd3); } string reportType = id; string mimeType; string encoding; string fileNameExtension; string deviceInfo = "<DeviceInfo>" + " <OutputFormat>" + id + "</OutputFormat>" + " <PageWidth>8.5in</PageWidth>" + " <PageHeight>11in</PageHeight>" + " <MarginTop>0.5in</MarginTop>" + " <MarginLeft>0.5in</MarginLeft>" + " <MarginRight>0.5in</MarginRight>" + " <MarginBottom>0.5in</MarginBottom>" + "</DeviceInfo>"; Warning[] warnings; string[] streams; byte[] renderedBytes; renderedBytes = lr.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); }