public ActionResult PrintVisitorsDetailsReport(string search) { Reports.DataSet.VisitorsDetailsDataSet visitorsDetailsDataSet = new Reports.DataSet.VisitorsDetailsDataSet(); var result = _visitorDetailsReportHelper.PrintVisitorData(search); foreach (var item in result) { var InvoiceRow = visitorsDetailsDataSet.DTVisitorsDetails.NewDTVisitorsDetailsRow(); InvoiceRow.VisitorName = item.VisitorName; InvoiceRow.BuildingName = item.Building; InvoiceRow.GateName = item.Gate; InvoiceRow.SecurityPerson = item.Security; InvoiceRow.CheckIn = item.CheckIn; //InvoiceRow.CheckOut = string.IsNullOrEmpty(item.CheckOut) ? null : Convert.ToDateTime(item.CheckOut); InvoiceRow.CheckOut = item.CheckOut; InvoiceRow.ContactNumber = item.ContactNumber; InvoiceRow.CompanyName = item.CompanyName; InvoiceRow.ContactPerson = item.ContactPerson; visitorsDetailsDataSet.DTVisitorsDetails.AddDTVisitorsDetailsRow(InvoiceRow); } var reportData = new ReportDataSource("VisitorsDetailsDataSet", visitorsDetailsDataSet.Tables[0]); var viewer = new ReportViewer { ProcessingMode = ProcessingMode.Local }; viewer.LocalReport.ReportPath = GetReportPath() + "\\VisitorsDetailsReport.rdlc"; Warning[] warnings; string[] streamIds; string mimeType; string encoding; string extension; viewer.LocalReport.DataSources.Add(reportData); byte[] bytes = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings); #region "Show RDLC Report in PDF Format" System.Web.HttpContext.Current.Response.Buffer = true; System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.BufferOutput = true; System.Web.HttpContext.Current.Response.ContentType = "application/pdf"; System.Web.HttpContext.Current.Response.BinaryWrite(bytes); System.Web.HttpContext.Current.Response.Flush(); System.Web.HttpContext.Current.Response.BufferOutput = true; byte[] fileToReturn = new byte[byte.MaxValue]; System.Web.HttpContext.Current.Response.BinaryWrite(fileToReturn); #endregion return(new EmptyResult()); }
public ActionResult PrintVisitorsDetailsReportExcel(string search) { Reports.DataSet.VisitorsDetailsDataSet visitorsDetailsDataSet = new Reports.DataSet.VisitorsDetailsDataSet(); var result = _visitorDetailsReportHelper.PrintVisitorData(search); foreach (var item in result) { var InvoiceRow = visitorsDetailsDataSet.DTVisitorsDetails.NewDTVisitorsDetailsRow(); InvoiceRow.VisitorName = item.VisitorName; InvoiceRow.BuildingName = item.Building; InvoiceRow.GateName = item.Gate; InvoiceRow.SecurityPerson = item.Security; InvoiceRow.CheckIn = item.CheckIn; //InvoiceRow.CheckOut = string.IsNullOrEmpty(item.CheckOut) ? null : Convert.ToDateTime(item.CheckOut); InvoiceRow.CheckOut = item.CheckOut; InvoiceRow.ContactNumber = item.ContactNumber; InvoiceRow.CompanyName = item.CompanyName; InvoiceRow.ContactPerson = item.ContactPerson; visitorsDetailsDataSet.DTVisitorsDetails.AddDTVisitorsDetailsRow(InvoiceRow); } var reportData = new ReportDataSource("VisitorsDetailsDataSet", visitorsDetailsDataSet.Tables[0]); var viewer = new ReportViewer { ProcessingMode = ProcessingMode.Local }; viewer.LocalReport.ReportPath = GetReportPath() + "\\VisitorsDetailsReport.rdlc"; Warning[] warnings; string[] streams; string MIMETYPE = string.Empty; string encoding = string.Empty; string extension = string.Empty; viewer.LocalReport.DataSources.Add(reportData); byte[] bytes = viewer.LocalReport.Render("Excel", null, out MIMETYPE, out encoding, out extension, out streams, out warnings); Response.Buffer = true; Response.Clear(); Response.ContentType = MIMETYPE; Response.AddHeader("content-disposition", "attachment; filename=" + DateTime.Now.ToString("ddMMyyyyhhmmss") + "." + extension); Response.BinaryWrite(bytes); Response.Flush(); return(new EmptyResult()); }