Beispiel #1
0
        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();
                        }
                    }
                }
            }
        }
Beispiel #2
0
        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();
            }
        }