public ActionResult summaryRpt([Bind(Include = "StartDate,EndDate,DepartmentID")] SummaryRpt summaryrpt) { if (ModelState.IsValid) { if (summaryrpt.StartDate == null) { return(View(summaryrpt)); } else if (summaryrpt.EndDate == null) { return(RedirectToAction("summaryRptStartDate", "MachineSheet", summaryrpt)); } else { return(RedirectToAction("summaryRptExport", "UserSheet", summaryrpt)); } } ViewBag.DepartmentID = new SelectList(db.Departments.OrderBy(d => d.DepartmentName), "DepartmentName", "DepartmentName"); return(View(summaryrpt)); }
public ActionResult summaryRptExport([Bind(Include = "StartDate,EndDate,DepartmentID")] SummaryRpt summaryrpt) { if (ModelState.IsValid) { LocalReport lr = new LocalReport(); string path = Path.Combine(Server.MapPath("~/Reports"), "SummaryUserSheet.rdlc"); if (System.IO.File.Exists(path)) { lr.ReportPath = path; } else { return(View("Index")); } List <UserSheet> cm = new List <UserSheet>(); if (summaryrpt.EndDate > summaryrpt.StartDate) { { var query = from s in db.UserSheets orderby s.SheetID where (EntityFunctions.TruncateTime(s.DateCreate) >= EntityFunctions.TruncateTime(summaryrpt.StartDate) && s.Department == summaryrpt.DepartmentID && EntityFunctions.TruncateTime(s.DateCreate) <= EntityFunctions.TruncateTime(summaryrpt.EndDate) && s.Department == summaryrpt.DepartmentID) select s; cm = query.ToList(); } } else { var query = from s in db.UserSheets orderby s.SheetID where (EntityFunctions.TruncateTime(s.DateCreate) == EntityFunctions.TruncateTime(summaryrpt.StartDate) && s.Department == summaryrpt.DepartmentID && EntityFunctions.TruncateTime(s.DateCreate) <= EntityFunctions.TruncateTime(summaryrpt.EndDate) && s.Department == summaryrpt.DepartmentID) select s; cm = query.ToList(); } ReportDataSource rd = new ReportDataSource("DataSet1", cm); lr.DataSources.Add(rd); string reportType = "Excel"; string mimeType; string encoding; string fileNameExtension; string deviceInfo = "<DeviceInfo>" + " <OutputFormat>" + "Excel" + "</OutputFormat>" + " <PageWidth>11.7in</PageWidth>" + " <PageHeight>16.5in</PageHeight>" + " <MarginTop>0.5in</MarginTop>" + " <MarginLeft>1in</MarginLeft>" + " <MarginRight>1in</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)); } ViewBag.DepartmentID = new SelectList(db.Departments.OrderBy(d => d.DepartmentName), "DepartmentName", "DepartmentName"); return(View(summaryrpt)); }