public void ProcessRequest(HttpContext context) { if (context.Session["GlobalUserID"] != null) { int userId = Convert.ToInt32(context.Session["GlobalUserID"]); string searchFromShipDate = context.Request.Params["search_ship_date_from"]; string searchToShipDate = context.Request.Params["search_ship_date_to"]; string searchQuote = context.Request.Params["search_quote"]; string searchService = context.Request.Params["search_service"]; string searchTerminal = context.Request.Params["search_terminal"]; GlobalReportBLL reportBLL = new GlobalReportBLL(); List <ReportColumn> userColumns = reportBLL.GetUserMasterReportColumns(userId); if (userColumns.Count > 0) { List <ShipmentReportView> shipments = reportBLL.GetUserExcelReportData(userId, searchFromShipDate, searchToShipDate, searchQuote, searchService, searchTerminal); if (shipments.Count > 0) { using (ExcelPackage excelPackage = new ExcelPackage()) { var workSheet = excelPackage.Workbook.Worksheets.Add("ShipmentReport"); workSheet.View.ShowGridLines = true; int rowIndex = 1; for (int i = 0; i < userColumns.Count; i++) { workSheet.Column(i + 1).Width = 50; ExcelRange headerCell = workSheet.Cells[rowIndex, i + 1]; headerCell.Value = userColumns[i].ColumnName; headerCell.Style.Font.Bold = true; headerCell.Style.Font.Color.SetColor(Color.FloralWhite); headerCell.Style.Font.Size = 10; headerCell.Style.Font.Name = "Verdana"; headerCell.Style.Fill.PatternType = ExcelFillStyle.Solid; headerCell.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189)); headerCell.Style.HorizontalAlignment = ExcelHorizontalAlignment.Left; headerCell.Style.VerticalAlignment = ExcelVerticalAlignment.Top; headerCell.Style.WrapText = true; } rowIndex++; foreach (ShipmentReportView shipment in shipments) { try { for (int i = 0; i < userColumns.Count; i++) { workSheet.Cells[rowIndex, i + 1].Value = GetReportColumnValue(userColumns[i].ColumnCode, shipment); } } catch (Exception ex) { (new GlobalErrorLogsBLL()).LogGlobalError(ex, "TMS - ExcelReportGenerator - Shipments"); } rowIndex++; } excelPackage.Workbook.Properties.Author = "ABCLogistics"; excelPackage.Workbook.Properties.Title = "Shipment Report"; context.Response.Clear(); context.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; context.Response.AddHeader("content-disposition", "attachment; filename=ShipmentReport_" + DateTime.Now.ToString("MMddyyyyHHmm") + ".xlsx"); context.Response.BinaryWrite(excelPackage.GetAsByteArray()); context.Response.End(); } } } } }
public void ProcessRequest(HttpContext context) { if (context.Session["GlobalUserID"] != null) { int userId = Convert.ToInt32(context.Session["GlobalUserID"]); int echo = Int32.Parse(context.Request.Params["sEcho"]); int displayLength = Int32.Parse(context.Request.Params["iDisplayLength"]); int displayStart = Int32.Parse(context.Request.Params["iDisplayStart"]); string search = context.Request.Params["sSearch"]; GlobalReportBLL reportBLL = new GlobalReportBLL(); List <UserReportColumn> userColumns = reportBLL.GetUserReportColumns(userId); List <ShipmentReportView> shipments = reportBLL.GetUserReportData(userId, userColumns, context.Request.Params, displayStart, displayLength); string outputJson = string.Empty; int totalRecords = reportBLL.GetUserReportDataCount(userId, context.Request.Params); int totalDisplayRecords = totalRecords; if (shipments.Count > 0) { StringBuilder sbOutputJson = new StringBuilder(); foreach (ShipmentReportView shipment in shipments) { sbOutputJson.Append("["); for (int i = 0; i < userColumns.Count; i++) { if (i != userColumns.Count - 1) { sbOutputJson.Append("\"" + GetReportColumnValue(userColumns[i].ColumnCode, shipment) + "\","); } else { sbOutputJson.Append("\"" + GetReportColumnValue(userColumns[i].ColumnCode, shipment) + "\""); } } sbOutputJson.Append("],"); } outputJson = sbOutputJson.ToString(); outputJson = outputJson.Remove(outputJson.Length - 1); sbOutputJson.Clear(); sbOutputJson.Append("{"); sbOutputJson.Append("\"sEcho\": "); sbOutputJson.Append(echo); sbOutputJson.Append(","); sbOutputJson.Append("\"iTotalRecords\": "); sbOutputJson.Append(totalRecords); sbOutputJson.Append(","); sbOutputJson.Append("\"iTotalDisplayRecords\": "); sbOutputJson.Append(totalDisplayRecords); sbOutputJson.Append(","); sbOutputJson.Append("\"aaData\": ["); sbOutputJson.Append(outputJson); sbOutputJson.Append("]}"); outputJson = sbOutputJson.ToString(); } context.Response.Clear(); context.Response.ClearHeaders(); context.Response.ClearContent(); context.Response.Write(outputJson); context.Response.Flush(); context.Response.End(); } }